Jump to content

Help for coding. :S


Recommended Posts

I start this thread, for search some help for edit code of JKA for my SP mod.

I ask to all, hoping someone give me a little help.

my second coding day is good. i change damage for weapons in SP client editing weapons.h in SP code. :)

Now i need to change effects of bryar, blaster and jawa weapons, because they are effects in common, but i seet that in the 2 weapons.cpp files. so i am okay on that.

The third things i need is to alterate CLASS DAMAGE, like DEMP2 about droid... for ALL weapons. someone can tell me where i can find in SP code the DEMP2 class damage related code about the droids? (i not found searching the keyword g_damage) and how can i set the same thing for the other weapons?

Thanks.

 

@@Serenity937

@

Link to comment

I start this thread, for search some help for edit code of JKA for my SP mod.

I ask to all, hoping someone give me a little help.

my second coding day is good. i change damage for weapons in SP client editing weapons.h in SP code. :)

Now i need to change effects of bryar, blaster and jawa weapons, because they are effects in common, but i seet that in the 2 weapons.cpp files. so i am okay on that.

The third things i need is to alterate CLASS DAMAGE, like DEMP2 about droid... for ALL weapons. someone can tell me where i can find in SP code the DEMP2 class damage related code about the droids? (i not found searching the keyword g_damage) and how can i set the same thing for the other weapons?

Thanks.

 

@@Serenity937

@

Ok i see where is: void G_damage on g_combat.cpp

LINE 5547 - 6831 :)

Link to comment

I have setted class damage about:

WP_DEMP2

WP_BLASTER_PISTOL \ BRYAR \ JAWA

WP_BLASTER

WP_REPEATER

WP_FLECHETTE

WP_ROCKET

WP_BOWCASTER.

i am at half of the work. :)

Tomorrow i will do for THERMAL, DETPACK, TRIPMINE, CONCUSSION, DISRUPTOR, EMPLACED, ASTS WEAPONS and NOGHRI STICK. :D

If all works as i want, i will do the samething about force powers, so the force drain, lightning, grip, heal,  protect, absorb efx etc can change efx by classes to classes. :)

Link to comment

Class damage configurated with success! All fine! Except for CLASS_DESANN, that now is INVINCIBLE to ALL weapons :D

but i wanna use class Desann for Hyldens Lord so it's fine. :)

 

Now i will do that's stuff:

1 - CLASS efx changed for many force powers

2 - Immunity to some classes i use for golems, undead, demon and elemental at the GRIP and DRAIN. i do also that, but a momento not work. :\

(You cannot grab or suck blood at a stone or ice monster, not? :D )

3 - Change efx effect of weapons by Spgskill. I think i need first to register the new effects and after set the "if" script. :)

4 - Bunirng \ poison damage

5 - Blinding \ stunning damage for some shoots.

6 - Freeze Damage for some shoots.

7 - remove knockback from concussion.

 

Ok that's all. at the end, i not need to make new force power or weapons. :) 

I will follow @@Serenity937 istruction fot point 2.

I have an idea about point 3.

But at moment i not know how make point 4.

When i end all that's staff, i wil post here the edited code for all Community. :)

Link to comment

Simple way of changing lightning effects for classes.I will assume you already have a new lightning effect to use and you know how to implement it!

 

so here is an example you can alter as you wish.

 

 

cg_media.h   in the } cgEffects_t; section to define the new lightning effects


	
	//FORCE
	fxHandle_t	forceConfusion;
	fxHandle_t	forceLightning;
	fxHandle_t	forceLightningWide;
        //new effects
	fxHandle_t	redlightningwide;
	fxHandle_t	greenlightningwide;
	fxHandle_t	redlightning;
	fxHandle_t	greenlightning;

	fxHandle_t	forceHeal;

cg_players.cpp



			if ( cent->gent->client->ps.forcePowersActive&(1<<FP_LIGHTNING) )
			{//doing the electrocuting
				//FIXME: if the target is absorbing or blocking lightning w/saber, draw a beam from my hand to his (hand?chest?saber?)
				vec3_t tAng, fxDir;
				VectorCopy( cent->lerpAngles, tAng );
				if ( cent->gent->client->ps.forcePowerLevel[FP_LIGHTNING] > FORCE_LEVEL_2 )
				{//arc
					vec3_t	fxAxis[3];
					AnglesToAxis( tAng, fxAxis );
					
					if ( cent->gent->client->NPC_class == CLASS_DESANN
						|| cent->gent->client->NPC_class == CLASS_TAVION
						|| cent->gent->client->NPC_class == CLASS_ALORA )
					{
						theFxScheduler.PlayEffect( cgs.effects.redlightningwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
					}
					else if ( cent->gent->client->NPC_class == CLASS_SHADOWTROOPER )
					{
						theFxScheduler.PlayEffect( cgs.effects.greenlightningwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
					}
					else
					{
						theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
					}
					
					//theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );

					if ( cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING
						|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_START
						|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_HOLD
						|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_RELEASE )
					{//jackin' 'em up, Palpatine-style
						
						if ( cent->gent->client->NPC_class == CLASS_DESANN
							|| cent->gent->client->NPC_class == CLASS_TAVION
							|| cent->gent->client->NPC_class == CLASS_ALORA )
						{
							theFxScheduler.PlayEffect( cgs.effects.redlightningwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
						}
						else if ( cent->gent->client->NPC_class == CLASS_SHADOWTROOPER )
						{
							theFxScheduler.PlayEffect( cgs.effects.greenlightningwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
						}
						else
						{
							theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handRPoint, fxAxis );
						}
						//theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handRPoint, fxAxis );
					}
				}
				else
				{//line
					AngleVectors( tAng, fxDir, NULL, NULL );
					
					if ( cent->gent->client->NPC_class == CLASS_DESANN
						|| cent->gent->client->NPC_class == CLASS_TAVION
						|| cent->gent->client->NPC_class == CLASS_ALORA )
					{
						theFxScheduler.PlayEffect( cgs.effects.redlightning, cent->gent->client->renderInfo.handLPoint, fxDir );
					}
					else if ( cent->gent->client->NPC_class == CLASS_SHADOWTROOPER )
					{
						theFxScheduler.PlayEffect( cgs.effects.greenlightning, cent->gent->client->renderInfo.handLPoint, fxDir );
					}
					else
					{
						theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxDir );
					}

					//theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxDir );

					if ( cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING
						|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_START
						|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_HOLD
						|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_RELEASE )
					{//jackin' 'em up, Palpatine-style
						if ( cent->gent->client->NPC_class == CLASS_DESANN
							|| cent->gent->client->NPC_class == CLASS_TAVION
							|| cent->gent->client->NPC_class == CLASS_ALORA )
						{
							theFxScheduler.PlayEffect( cgs.effects.redlightning, cent->gent->client->renderInfo.handRPoint, fxDir );
						}
						else if ( cent->gent->client->NPC_class == CLASS_SHADOWTROOPER )
						{
							theFxScheduler.PlayEffect( cgs.effects.greenlightning, cent->gent->client->renderInfo.handRPoint, fxDir );
						}
						else
						{
							theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handRPoint, fxDir );
						}
						//theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handRPoint, fxDir );
					}
				}
			}

cg_weapons.cpp  for the person view

if ( cent->gent && cent->gent->client && cent->gent->client->ps.forcePowersActive&(1<<FP_LIGHTNING) )
	{//doing the electrocuting
		vec3_t temp;

		VectorCopy( cent->gent->client->renderInfo.handLPoint, temp );
		VectorMA( temp, -5, cg.refdef.viewaxis[0], temp );
		if ( cent->gent->client->ps.forcePowerLevel[FP_LIGHTNING] > FORCE_LEVEL_2 )
		{//arc
			if ( cent->gent->client->NPC_class == CLASS_DESANN
				|| cent->gent->client->NPC_class == CLASS_TAVION
				|| cent->gent->client->NPC_class == CLASS_ALORA )
			{
				theFxScheduler.PlayEffect( cgs.effects.redlightningwide, temp, cg.refdef.viewaxis );
			}
			else if ( cent->gent->client->NPC_class == CLASS_SHADOWTROOPER )
			{
				theFxScheduler.PlayEffect( cgs.effects.greenlightningwide, temp, cg.refdef.viewaxis );
			}
			else
			{
				theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, temp, cg.refdef.viewaxis );
			}
			//theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, temp, cg.refdef.viewaxis );
		}
		else
		{//line
			if ( cent->gent->client->NPC_class == CLASS_DESANN
				|| cent->gent->client->NPC_class == CLASS_TAVION
				|| cent->gent->client->NPC_class == CLASS_ALORA )
			{
				theFxScheduler.PlayEffect( cgs.effects.redlightning, temp, cg.refdef.viewaxis );
			}
			else if ( cent->gent->client->NPC_class == CLASS_SHADOWTROOPER )
			{
				theFxScheduler.PlayEffect( cgs.effects.greenlightning, temp, cg.refdef.viewaxis );
			}
			else
			{
				theFxScheduler.PlayEffect( cgs.effects.forceLightning, temp, cg.refdef.viewaxis );
			}
			//theFxScheduler.PlayEffect( cgs.effects.forceLightning, temp, cg.refdef.viewaxis[0] );
		}
	}

cg_weapons.cpp   to register the effect


		cgs.effects.forceLightning		= theFxScheduler.RegisterEffect( "force/lightning" );
		cgs.effects.forceLightningWide	= theFxScheduler.RegisterEffect( "force/lightningwide" );
		cgs.effects.redlightningwide	= theFxScheduler.RegisterEffect( "force/redlightningwide" );
		cgs.effects.greenlightningwide	= theFxScheduler.RegisterEffect( "force/greenlightningwide" );
		cgs.effects.redlightning	= theFxScheduler.RegisterEffect( "force/redlightning" );
		cgs.effects.greenlightning	= theFxScheduler.RegisterEffect( "force/greenlightning" );

obviously you need to change the names of the NEW effects to correspond with you MODS effect name or make the new effects ,but thats another subject that i think you can handle with your experience...... :winkthumb:

 

 

hope this helps

 

serenity 

 

 

 

http://www.moddb.com/mods/serenitysabersystems/images/lighning-efx#imagebox

 

http://www.moddb.com/mods/serenitysabersystems/images/lighning-efx2#imagebox

 

http://www.moddb.com/mods/serenitysabersystems/images/lighning-efx1#imagebox

Keyten and Asgarath83 like this
Link to comment

mmm, i have an idea about the gradual dmg of poison \ combustion. for poison it's the MOD_GAS of noghri_stick.

For combustion ... simply i need to add to WP_BLASTER functions, also the MOD_LAVA dmg, so the blaster shot can make dmg like the immersion in lava and burning for some second the NPC hitted. O.O

Link to comment

No, you'll need to run code each frame and use a debouncer to check if they should be damaged.

Simply changing the MOD_ won't make it a reoccurring event.

That's is very hard. mmm An example of gradual damage is about water and lava in the engine. immersion in that liquid cause istantly dmg by the lava and a less dmg by water over a lot of time for drowning the client.

i think i need to check the Drowning code, or the noghri stick code, use it, and adapt to my need.

Link to comment

@@Serenity937 I follow your indication about the force aura topic for the force sight and i reproduce what yu have done in your mod with success! Thanks!

For change shaders of protect \ absorb \ push - pull \ grip i suppose i need to use same tecnique in file cg_players.cpp, right? :)

i am not much sure about how to put the syntaxis of if and else and where add it on the color code of that powers :unsure:

however... thanks very much! I am at half of work.

Also, i thinked a think.

Because is very strong to make by code the freeze, blinding and burning effects... >_>

i want to add 16 new force powers about that cloning the FP_MINDTRICK power.

why? because ingame, in the map, is possibile to set with icarus the MINDTRICKSCRIPT. and so with icarus i can set new powers that shoot a magic.

so can be a burning magic for who got the fire \ warm \ magma reaver and 1 for the poison reaver that make gradual dmg on the target affected by mindtricks.

i can use the SET_FREEZE of icarus for that about the ice \ crystal \ stone magic. and affected the visrange, aim, etc about the blind of darkness and light, or the stunning of sound and spirit weapons.

so my gameplay will be like that:

- elemental shoot: can be used against monster of the opposition element.: example FLECHETTE -> earth projectile agaunst creatures of airs.

- Swods: for norrmal attack.

- The new mindtrick power: affected target with confusion and an particellar effect i can place upon their body, poison, combustion, sonic stunning etc etc.

but the behavour alteration i can set with ICARUS, without become crazy into the code.

i think that can work nice in my mod...

i will follow indication of @@JediBantha about his forcedeadly sight power for how to make a new force power into SP :)

i need simply to clone the Mindtrick for various variance of efx. 

about Lightnineg, instead, is sufficient to make the CLASS stuff work that yu learned to me.

With the Force Sense is gone pretty well! Unique issue is my low ability with RGB parameters: demons have fucsia aura. ROTFL :D

Link to comment

mmm edit protect with same class function of SEE crash the game, and i not see alteration of the shader color of absorb, pull and push blur. i think i start with lightning efx changed by classes and after i use the same tecnique with the shadered force power when i get a lot of confidence with the syntaxis.

:)

Link to comment

Simple way of changing lightning effects for classes.I will assume you already have a new lightning effect to use and you know how to implement it!

 

so here is an example you can alter as you wish.

 

 

cg_media.h   in the } cgEffects_t; section to define the new lightning effects


	
	//FORCE
	fxHandle_t	forceConfusion;
	fxHandle_t	forceLightning;
	fxHandle_t	forceLightningWide;
        //new effects
	fxHandle_t	redlightningwide;
	fxHandle_t	greenlightningwide;
	fxHandle_t	redlightning;
	fxHandle_t	greenlightning;

	fxHandle_t	forceHeal;

cg_players.cpp



			if ( cent->gent->client->ps.forcePowersActive&(1<<FP_LIGHTNING) )
			{//doing the electrocuting
				//FIXME: if the target is absorbing or blocking lightning w/saber, draw a beam from my hand to his (hand?chest?saber?)
				vec3_t tAng, fxDir;
				VectorCopy( cent->lerpAngles, tAng );
				if ( cent->gent->client->ps.forcePowerLevel[FP_LIGHTNING] > FORCE_LEVEL_2 )
				{//arc
					vec3_t	fxAxis[3];
					AnglesToAxis( tAng, fxAxis );
					
					if ( cent->gent->client->NPC_class == CLASS_DESANN
						|| cent->gent->client->NPC_class == CLASS_TAVION
						|| cent->gent->client->NPC_class == CLASS_ALORA )
					{
						theFxScheduler.PlayEffect( cgs.effects.redlightningwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
					}
					else if ( cent->gent->client->NPC_class == CLASS_SHADOWTROOPER )
					{
						theFxScheduler.PlayEffect( cgs.effects.greenlightningwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
					}
					else
					{
						theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
					}
					
					//theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );

					if ( cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING
						|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_START
						|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_HOLD
						|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_RELEASE )
					{//jackin' 'em up, Palpatine-style
						
						if ( cent->gent->client->NPC_class == CLASS_DESANN
							|| cent->gent->client->NPC_class == CLASS_TAVION
							|| cent->gent->client->NPC_class == CLASS_ALORA )
						{
							theFxScheduler.PlayEffect( cgs.effects.redlightningwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
						}
						else if ( cent->gent->client->NPC_class == CLASS_SHADOWTROOPER )
						{
							theFxScheduler.PlayEffect( cgs.effects.greenlightningwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
						}
						else
						{
							theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handRPoint, fxAxis );
						}
						//theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handRPoint, fxAxis );
					}
				}
				else
				{//line
					AngleVectors( tAng, fxDir, NULL, NULL );
					
					if ( cent->gent->client->NPC_class == CLASS_DESANN
						|| cent->gent->client->NPC_class == CLASS_TAVION
						|| cent->gent->client->NPC_class == CLASS_ALORA )
					{
						theFxScheduler.PlayEffect( cgs.effects.redlightning, cent->gent->client->renderInfo.handLPoint, fxDir );
					}
					else if ( cent->gent->client->NPC_class == CLASS_SHADOWTROOPER )
					{
						theFxScheduler.PlayEffect( cgs.effects.greenlightning, cent->gent->client->renderInfo.handLPoint, fxDir );
					}
					else
					{
						theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxDir );
					}

					//theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxDir );

					if ( cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING
						|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_START
						|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_HOLD
						|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_RELEASE )
					{//jackin' 'em up, Palpatine-style
						if ( cent->gent->client->NPC_class == CLASS_DESANN
							|| cent->gent->client->NPC_class == CLASS_TAVION
							|| cent->gent->client->NPC_class == CLASS_ALORA )
						{
							theFxScheduler.PlayEffect( cgs.effects.redlightning, cent->gent->client->renderInfo.handRPoint, fxDir );
						}
						else if ( cent->gent->client->NPC_class == CLASS_SHADOWTROOPER )
						{
							theFxScheduler.PlayEffect( cgs.effects.greenlightning, cent->gent->client->renderInfo.handRPoint, fxDir );
						}
						else
						{
							theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handRPoint, fxDir );
						}
						//theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handRPoint, fxDir );
					}
				}
			}

cg_weapons.cpp  for the person view

if ( cent->gent && cent->gent->client && cent->gent->client->ps.forcePowersActive&(1<<FP_LIGHTNING) )
	{//doing the electrocuting
		vec3_t temp;

		VectorCopy( cent->gent->client->renderInfo.handLPoint, temp );
		VectorMA( temp, -5, cg.refdef.viewaxis[0], temp );
		if ( cent->gent->client->ps.forcePowerLevel[FP_LIGHTNING] > FORCE_LEVEL_2 )
		{//arc
			if ( cent->gent->client->NPC_class == CLASS_DESANN
				|| cent->gent->client->NPC_class == CLASS_TAVION
				|| cent->gent->client->NPC_class == CLASS_ALORA )
			{
				theFxScheduler.PlayEffect( cgs.effects.redlightningwide, temp, cg.refdef.viewaxis );
			}
			else if ( cent->gent->client->NPC_class == CLASS_SHADOWTROOPER )
			{
				theFxScheduler.PlayEffect( cgs.effects.greenlightningwide, temp, cg.refdef.viewaxis );
			}
			else
			{
				theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, temp, cg.refdef.viewaxis );
			}
			//theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, temp, cg.refdef.viewaxis );
		}
		else
		{//line
			if ( cent->gent->client->NPC_class == CLASS_DESANN
				|| cent->gent->client->NPC_class == CLASS_TAVION
				|| cent->gent->client->NPC_class == CLASS_ALORA )
			{
				theFxScheduler.PlayEffect( cgs.effects.redlightning, temp, cg.refdef.viewaxis );
			}
			else if ( cent->gent->client->NPC_class == CLASS_SHADOWTROOPER )
			{
				theFxScheduler.PlayEffect( cgs.effects.greenlightning, temp, cg.refdef.viewaxis );
			}
			else
			{
				theFxScheduler.PlayEffect( cgs.effects.forceLightning, temp, cg.refdef.viewaxis );
			}
			//theFxScheduler.PlayEffect( cgs.effects.forceLightning, temp, cg.refdef.viewaxis[0] );
		}
	}

cg_weapons.cpp   to register the effect


		cgs.effects.forceLightning		= theFxScheduler.RegisterEffect( "force/lightning" );
		cgs.effects.forceLightningWide	= theFxScheduler.RegisterEffect( "force/lightningwide" );
		cgs.effects.redlightningwide	= theFxScheduler.RegisterEffect( "force/redlightningwide" );
		cgs.effects.greenlightningwide	= theFxScheduler.RegisterEffect( "force/greenlightningwide" );
		cgs.effects.redlightning	= theFxScheduler.RegisterEffect( "force/redlightning" );
		cgs.effects.greenlightning	= theFxScheduler.RegisterEffect( "force/greenlightning" );

obviously you need to change the names of the NEW effects to correspond with you MODS effect name or make the new effects ,but thats another subject that i think you can handle with your experience...... :winkthumb:

 

 

hope this helps

 

serenity 

 

 

 

http://www.moddb.com/mods/serenitysabersystems/images/lighning-efx#imagebox

 

http://www.moddb.com/mods/serenitysabersystems/images/lighning-efx2#imagebox

 

http://www.moddb.com/mods/serenitysabersystems/images/lighning-efx1#imagebox

It work! :D Checked now! but my creature shoot ... spiderweb, so i need also to know how to change the sound by class LOL. but i suppose the procedure is the same. and i need to check cg_media and cg_weapons :)

Link to comment

Got it! i change the sound for lightning of the reelo class. the unique problem is the lightninghit sound but i manage it later. with the system of if \ elf of force aura.

the fix is in WP_saber.cpp

start at line 10888

and:

 

//Shoot lightning from hand
//make sure this plays and that you cannot press fire for about 1 second after this
if ( self->client->ps.forcePowerLevel[FP_LIGHTNING] < FORCE_LEVEL_2 )
{
NPC_SetAnim( self, SETANIM_TORSO, BOTH_FORCELIGHTNING, SETANIM_FLAG_OVERRIDE|SETANIM_FLAG_HOLD );
}
else
{
ForceLightningAnim( self );
/*
if ( ForceLightningCheck2Handed( self ) )
{//empty handed lightning 3
NPC_SetAnim( self, SETANIM_TORSO, BOTH_FORCE_2HANDEDLIGHTNING_START, SETANIM_FLAG_OVERRIDE|SETANIM_FLAG_HOLD );
}
else
{//one-handed lightning 3
NPC_SetAnim( self, SETANIM_TORSO, BOTH_FORCELIGHTNING_START, SETANIM_FLAG_OVERRIDE|SETANIM_FLAG_HOLD );
}
*/
}
self->client->ps.saberMove = self->client->ps.saberBounceMove = LS_READY;//don't finish whatever saber anim you may have been in
self->client->ps.saberBlocked = BLOCKED_NONE;
G_SoundOnEnt( self, CHAN_BODY, "sound/weapons/force/lightning.wav" );
if ( self->client->ps.forcePowerLevel[FP_LIGHTNING] < FORCE_LEVEL_2 )
{//short burst
//G_SoundOnEnt( self, CHAN_BODY, "sound/weapons/force/lightning.wav" );
}
else
{//holding it
self->s.loopSound = G_SoundIndex( "sound/weapons/force/lightning2.wav" );
}
if ( self->client->NPC_class == CLASS_REELO )
{
G_SoundOnEnt( self, CHAN_BODY, "sound/weapons/force/web.wav" );
if ( self->client->ps.forcePowerLevel[FP_LIGHTNING] < FORCE_LEVEL_2 )
{
//short burst
// G_SoundOnEnt( self, CHAN_BODY, "sound/weapons/force/web.wav" ); }
}
else
{//holding it
self->s.loopSound = G_SoundIndex( "sound/weapons/force/web2.wav" );
}
}

 

for today is all.

@@Serenity937

Serenity937 likes this
Link to comment

 @@Serenity937

yesterday work with a simple try with one class at the change.

today i use the same method with all class.

Works with all at force powerr level 3. but at force power level 1 and 2, NOT show the lightning effect ingame. O.o. but there is the sound.

I make something of wrong? I have do the definition in cg_media and also the registering of efx in CG_weapons.cpp MMm, maybe is a trouble of the registering of efx >_>

 

 

if ( cent->gent->client->ps.forcePowersActive&(1< {//doing the electrocuting
//FIXME: if the target is absorbing or blocking lightning w/saber, draw a beam from my hand to his (hand?chest?saber?)
vec3_t tAng, fxDir;
VectorCopy( cent->lerpAngles, tAng );
if ( cent->gent->client->ps.forcePowerLevel[FP_LIGHTNING] > FORCE_LEVEL_2 )
{//arc
vec3_t fxAxis[3];
AnglesToAxis( tAng, fxAxis );
if ( cent->gent->client->NPC_class == CLASS_REELO )
{
theFxScheduler.PlayEffect( cgs.effects.forceWebwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_ALORA )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_JEDI )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_LUKE )
{
theFxScheduler.PlayEffect( cgs.effects.forceLifewide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_REBORN )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_KYLE )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_TRANDOSHAN )
{
theFxScheduler.PlayEffect( cgs.effects.forceHollyfirewide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_TUSKEN )
{
theFxScheduler.PlayEffect( cgs.effects.forceNecrowide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_GLIDER )
{
theFxScheduler.PlayEffect( cgs.effects.forceNecrowide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_NOGHRI )
{
theFxScheduler.PlayEffect( cgs.effects.forceStunwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_FLIER2 )
{
theFxScheduler.PlayEffect( cgs.effects.forceStunwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_WEEQUAY )
{
theFxScheduler.PlayEffect( cgs.effects.forceCrystalwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_LIZARD )
{
theFxScheduler.PlayEffect( cgs.effects.forceStonewide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SWAMPTROOPER )
{
theFxScheduler.PlayEffect( cgs.effects.forceSkullwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_FISH )
{
theFxScheduler.PlayEffect( cgs.effects.forceSkullwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_GRAN )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_CLAW )
{
theFxScheduler.PlayEffect( cgs.effects.forceHellwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MOUSE )
{
theFxScheduler.PlayEffect( cgs.effects.forceGhostwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MINEMONSTER )
{
theFxScheduler.PlayEffect( cgs.effects.forcePoisonwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_INTERROGATOR )
{
theFxScheduler.PlayEffect( cgs.effects.forcePoisonwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_WAMPA )
{
theFxScheduler.PlayEffect( cgs.effects.forceHellwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_BOBAFETT )
{
theFxScheduler.PlayEffect( cgs.effects.forceHellwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_TAVION )
{
theFxScheduler.PlayEffect( cgs.effects.forceHyldenwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_DESANN )
{
theFxScheduler.PlayEffect( cgs.effects.forceGreenLightningwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MORGANKATARN )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MONMOTHA )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_JAWA )
{
theFxScheduler.PlayEffect( cgs.effects.forceGhostwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_PROBE )
{
theFxScheduler.PlayEffect( cgs.effects.forceWindwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_ROCKETTROOPER )
{
theFxScheduler.PlayEffect( cgs.effects.forceWindwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_COMMANDO )
{
theFxScheduler.PlayEffect( cgs.effects.forceNecrowide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MURJJ )
{
theFxScheduler.PlayEffect( cgs.effects.forceNecrowide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SEEKER )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_REMOTE )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MARK1 )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MARK2 )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SABOTEUR )
{
theFxScheduler.PlayEffect( cgs.effects.forceDarkwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SHADOWTROOPER )
{
theFxScheduler.PlayEffect( cgs.effects.forceDarkwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SABER_DROID )
{
theFxScheduler.PlayEffect( cgs.effects.forceYellowLightningwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_PROTOCOL )
{
theFxScheduler.PlayEffect( cgs.effects.forceBurstwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_HAZARD_TROOPER )
{
theFxScheduler.PlayEffect( cgs.effects.forceLavawide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_GALAKMECH )
{
theFxScheduler.PlayEffect( cgs.effects.forceIcewide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_BARTENDER )
{
theFxScheduler.PlayEffect( cgs.effects.forceIcewide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SWAMP )
{
theFxScheduler.PlayEffect( cgs.effects.forceWaterwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_GONK )
{
theFxScheduler.PlayEffect( cgs.effects.forceStonewide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_HOWLER )
{
theFxScheduler.PlayEffect( cgs.effects.forceSonicwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_ASSASSIN_DROID )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_ATST )
{
theFxScheduler.PlayEffect( cgs.effects.forceBurstwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SAND_CREATURE )
{
theFxScheduler.PlayEffect( cgs.effects.forceGreenLightningwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_PRISONER )
{
theFxScheduler.PlayEffect( cgs.effects.forceAcidwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_BESPIN_COP )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_REBEL )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_LANDO )
{
theFxScheduler.PlayEffect( cgs.effects.forceAstralwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_RODIAN )
{
theFxScheduler.PlayEffect( cgs.effects.forceFireballwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_GALAK )
{
theFxScheduler.PlayEffect( cgs.effects.forceFireballwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_JAN )
{
theFxScheduler.PlayEffect( cgs.effects.forceHollywide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_STORMTROOPER )
{
theFxScheduler.PlayEffect( cgs.effects.forceHollywide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_IMPWORKER )
{
theFxScheduler.PlayEffect( cgs.effects.forceFirewide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_IMPERIAL )
{
theFxScheduler.PlayEffect( cgs.effects.forceHellwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
// theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
if ( cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING
|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_START
|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_HOLD
|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_RELEASE )
{//jackin' 'em up, Palpatine-style
if ( cent->gent->client->NPC_class == CLASS_REELO )
{
theFxScheduler.PlayEffect( cgs.effects.forceWebwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_ALORA )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_JEDI )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_LUKE )
{
theFxScheduler.PlayEffect( cgs.effects.forceLifewide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_REBORN )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_KYLE )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_TRANDOSHAN )
{
theFxScheduler.PlayEffect( cgs.effects.forceHollyfirewide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_TUSKEN )
{
theFxScheduler.PlayEffect( cgs.effects.forceNecrowide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_GLIDER )
{
theFxScheduler.PlayEffect( cgs.effects.forceNecrowide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_NOGHRI )
{
theFxScheduler.PlayEffect( cgs.effects.forceStunwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_FLIER2 )
{
theFxScheduler.PlayEffect( cgs.effects.forceStunwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_WEEQUAY )
{
theFxScheduler.PlayEffect( cgs.effects.forceCrystalwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_LIZARD )
{
theFxScheduler.PlayEffect( cgs.effects.forceStonewide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SWAMPTROOPER )
{
theFxScheduler.PlayEffect( cgs.effects.forceSkullwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_FISH )
{
theFxScheduler.PlayEffect( cgs.effects.forceSkullwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_GRAN )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_CLAW )
{
theFxScheduler.PlayEffect( cgs.effects.forceHellwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MOUSE )
{
theFxScheduler.PlayEffect( cgs.effects.forceGhostwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MINEMONSTER )
{
theFxScheduler.PlayEffect( cgs.effects.forcePoisonwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_INTERROGATOR )
{
theFxScheduler.PlayEffect( cgs.effects.forcePoisonwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_WAMPA )
{
theFxScheduler.PlayEffect( cgs.effects.forceHellwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_BOBAFETT )
{
theFxScheduler.PlayEffect( cgs.effects.forceHellwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_TAVION )
{
theFxScheduler.PlayEffect( cgs.effects.forceHyldenwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_DESANN )
{
theFxScheduler.PlayEffect( cgs.effects.forceGreenLightningwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MORGANKATARN )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MONMOTHA )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_JAWA )
{
theFxScheduler.PlayEffect( cgs.effects.forceGhostwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_PROBE )
{
theFxScheduler.PlayEffect( cgs.effects.forceWindwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_ROCKETTROOPER )
{
theFxScheduler.PlayEffect( cgs.effects.forceWindwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_COMMANDO )
{
theFxScheduler.PlayEffect( cgs.effects.forceNecrowide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MURJJ )
{
theFxScheduler.PlayEffect( cgs.effects.forceNecrowide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SEEKER )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_REMOTE )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MARK1 )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MARK2 )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SABOTEUR )
{
theFxScheduler.PlayEffect( cgs.effects.forceDarkwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SHADOWTROOPER )
{
theFxScheduler.PlayEffect( cgs.effects.forceDarkwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SABER_DROID )
{
theFxScheduler.PlayEffect( cgs.effects.forceYellowLightningwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_PROTOCOL )
{
theFxScheduler.PlayEffect( cgs.effects.forceBurstwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_HAZARD_TROOPER )
{
theFxScheduler.PlayEffect( cgs.effects.forceLavawide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_GALAKMECH )
{
theFxScheduler.PlayEffect( cgs.effects.forceIcewide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_BARTENDER )
{
theFxScheduler.PlayEffect( cgs.effects.forceIcewide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SWAMP )
{
theFxScheduler.PlayEffect( cgs.effects.forceWaterwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_GONK )
{
theFxScheduler.PlayEffect( cgs.effects.forceStonewide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_HOWLER )
{
theFxScheduler.PlayEffect( cgs.effects.forceSonicwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_ASSASSIN_DROID )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_ATST )
{
theFxScheduler.PlayEffect( cgs.effects.forceBurstwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SAND_CREATURE )
{
theFxScheduler.PlayEffect( cgs.effects.forceGreenLightningwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_PRISONER )
{
theFxScheduler.PlayEffect( cgs.effects.forceAcidwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_BESPIN_COP )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_REBEL )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_LANDO )
{
theFxScheduler.PlayEffect( cgs.effects.forceAstralwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_RODIAN )
{
theFxScheduler.PlayEffect( cgs.effects.forceFireballwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_GALAK )
{
theFxScheduler.PlayEffect( cgs.effects.forceFireballwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_JAN )
{
theFxScheduler.PlayEffect( cgs.effects.forceHollywide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_STORMTROOPER )
{
theFxScheduler.PlayEffect( cgs.effects.forceHollywide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_IMPWORKER )
{
theFxScheduler.PlayEffect( cgs.effects.forceFirewide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_IMPERIAL )
{
theFxScheduler.PlayEffect( cgs.effects.forceHellwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
}
else
{//line
AngleVectors( tAng, fxDir, NULL, NULL );

if ( cent->gent->client->NPC_class == CLASS_REELO )
{
theFxScheduler.PlayEffect( cgs.effects.forceWeb, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_ALORA )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_JEDI )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_LUKE )
{
theFxScheduler.PlayEffect( cgs.effects.forceLife, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_REBORN )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_KYLE )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_TRANDOSHAN )
{
theFxScheduler.PlayEffect( cgs.effects.forceHollyfire, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_TUSKEN )
{
theFxScheduler.PlayEffect( cgs.effects.forceNecro, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_GLIDER )
{
theFxScheduler.PlayEffect( cgs.effects.forceNecro, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_NOGHRI )
{
theFxScheduler.PlayEffect( cgs.effects.forceStun, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_FLIER2 )
{
theFxScheduler.PlayEffect( cgs.effects.forceStun, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_WEEQUAY )
{
theFxScheduler.PlayEffect( cgs.effects.forceCrystal, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_LIZARD )
{
theFxScheduler.PlayEffect( cgs.effects.forceStone, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SWAMPTROOPER )
{
theFxScheduler.PlayEffect( cgs.effects.forceSkull, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_FISH )
{
theFxScheduler.PlayEffect( cgs.effects.forceSkull, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_GRAN )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_CLAW )
{
theFxScheduler.PlayEffect( cgs.effects.forceHell, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MOUSE )
{
theFxScheduler.PlayEffect( cgs.effects.forceGhost, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MINEMONSTER )
{
theFxScheduler.PlayEffect( cgs.effects.forcePoison, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_INTERROGATOR )
{
theFxScheduler.PlayEffect( cgs.effects.forcePoison, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_WAMPA )
{
theFxScheduler.PlayEffect( cgs.effects.forceHell, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_BOBAFETT )
{
theFxScheduler.PlayEffect( cgs.effects.forceHell, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_TAVION )
{
theFxScheduler.PlayEffect( cgs.effects.forceHylden, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_DESANN )
{
theFxScheduler.PlayEffect( cgs.effects.forceGreenLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MORGANKATARN )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MONMOTHA )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_JAWA )
{
theFxScheduler.PlayEffect( cgs.effects.forceGhost, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_PROBE )
{
theFxScheduler.PlayEffect( cgs.effects.forceWind, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_ROCKETTROOPER )
{
theFxScheduler.PlayEffect( cgs.effects.forceWind, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_COMMANDO )
{
theFxScheduler.PlayEffect( cgs.effects.forceNecro, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MURJJ )
{
theFxScheduler.PlayEffect( cgs.effects.forceNecro, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SEEKER )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_REMOTE )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MARK1 )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MARK2 )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SABOTEUR )
{
theFxScheduler.PlayEffect( cgs.effects.forceDark, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SHADOWTROOPER )
{
theFxScheduler.PlayEffect( cgs.effects.forceDark, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SABER_DROID )
{
theFxScheduler.PlayEffect( cgs.effects.forceYellowLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_PROTOCOL )
{
theFxScheduler.PlayEffect( cgs.effects.forceBurst, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_HAZARD_TROOPER )
{
theFxScheduler.PlayEffect( cgs.effects.forceLava, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_GALAKMECH )
{
theFxScheduler.PlayEffect( cgs.effects.forceIce, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_BARTENDER )
{
theFxScheduler.PlayEffect( cgs.effects.forceIce, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SWAMP )
{
theFxScheduler.PlayEffect( cgs.effects.forceWater, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_GONK )
{
theFxScheduler.PlayEffect( cgs.effects.forceStone, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_HOWLER )
{
theFxScheduler.PlayEffect( cgs.effects.forceSonic, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_ASSASSIN_DROID )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_ATST )
{
theFxScheduler.PlayEffect( cgs.effects.forceBurst, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SAND_CREATURE )
{
theFxScheduler.PlayEffect( cgs.effects.forceGreenLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_PRISONER )
{
theFxScheduler.PlayEffect( cgs.effects.forceAcid, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_BESPIN_COP )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_REBEL )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_LANDO )
{
theFxScheduler.PlayEffect( cgs.effects.forceAstral, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_RODIAN )
{
theFxScheduler.PlayEffect( cgs.effects.forceFireball, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_GALAK )
{
theFxScheduler.PlayEffect( cgs.effects.forceFireball, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_JAN )
{
theFxScheduler.PlayEffect( cgs.effects.forceHolly, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_STORMTROOPER )
{
theFxScheduler.PlayEffect( cgs.effects.forceHolly, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_IMPWORKER )
{
theFxScheduler.PlayEffect( cgs.effects.forceFire, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_IMPERIAL )
{
theFxScheduler.PlayEffect( cgs.effects.forceHell, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxDir );
}
// theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
if ( cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING
|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_START
|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_HOLD
|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_RELEASE )
{//jackin' 'em up, Palpatine-style
if ( cent->gent->client->NPC_class == CLASS_REELO )
{
theFxScheduler.PlayEffect( cgs.effects.forceWeb, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_ALORA )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_JEDI )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_LUKE )
{
theFxScheduler.PlayEffect( cgs.effects.forceLife, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_REBORN )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_KYLE )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_TRANDOSHAN )
{
theFxScheduler.PlayEffect( cgs.effects.forceHollyfire, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_TUSKEN )
{
theFxScheduler.PlayEffect( cgs.effects.forceNecro, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_GLIDER )
{
theFxScheduler.PlayEffect( cgs.effects.forceNecro, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_NOGHRI )
{
theFxScheduler.PlayEffect( cgs.effects.forceStun, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_FLIER2 )
{
theFxScheduler.PlayEffect( cgs.effects.forceStun, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_WEEQUAY )
{
theFxScheduler.PlayEffect( cgs.effects.forceCrystal, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_LIZARD )
{
theFxScheduler.PlayEffect( cgs.effects.forceStone, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SWAMPTROOPER )
{
theFxScheduler.PlayEffect( cgs.effects.forceSkull, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_FISH )
{
theFxScheduler.PlayEffect( cgs.effects.forceSkull, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_GRAN )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_CLAW )
{
theFxScheduler.PlayEffect( cgs.effects.forceHell, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MOUSE )
{
theFxScheduler.PlayEffect( cgs.effects.forceGhost, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MINEMONSTER )
{
theFxScheduler.PlayEffect( cgs.effects.forcePoison, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_INTERROGATOR )
{
theFxScheduler.PlayEffect( cgs.effects.forcePoison, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_WAMPA )
{
theFxScheduler.PlayEffect( cgs.effects.forceHell, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_BOBAFETT )
{
theFxScheduler.PlayEffect( cgs.effects.forceHell, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_TAVION )
{
theFxScheduler.PlayEffect( cgs.effects.forceHylden, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_DESANN )
{
theFxScheduler.PlayEffect( cgs.effects.forceGreenLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MORGANKATARN )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MONMOTHA )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_JAWA )
{
theFxScheduler.PlayEffect( cgs.effects.forceGhost, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_PROBE )
{
theFxScheduler.PlayEffect( cgs.effects.forceWind, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_ROCKETTROOPER )
{
theFxScheduler.PlayEffect( cgs.effects.forceWind, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_COMMANDO )
{
theFxScheduler.PlayEffect( cgs.effects.forceNecro, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MURJJ )
{
theFxScheduler.PlayEffect( cgs.effects.forceNecro, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SEEKER )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_REMOTE )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MARK1 )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MARK2 )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SABOTEUR )
{
theFxScheduler.PlayEffect( cgs.effects.forceDark, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SHADOWTROOPER )
{
theFxScheduler.PlayEffect( cgs.effects.forceDark, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SABER_DROID )
{
theFxScheduler.PlayEffect( cgs.effects.forceYellowLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_PROTOCOL )
{
theFxScheduler.PlayEffect( cgs.effects.forceBurst, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_HAZARD_TROOPER )
{
theFxScheduler.PlayEffect( cgs.effects.forceLava, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_GALAKMECH )
{
theFxScheduler.PlayEffect( cgs.effects.forceIce, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_BARTENDER )
{
theFxScheduler.PlayEffect( cgs.effects.forceIce, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SWAMP )
{
theFxScheduler.PlayEffect( cgs.effects.forceWater, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_GONK )
{
theFxScheduler.PlayEffect( cgs.effects.forceStone, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_HOWLER )
{
theFxScheduler.PlayEffect( cgs.effects.forceSonic, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_ASSASSIN_DROID )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_ATST )
{
theFxScheduler.PlayEffect( cgs.effects.forceBurst, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SAND_CREATURE )
{
theFxScheduler.PlayEffect( cgs.effects.forceGreenLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_PRISONER )
{
theFxScheduler.PlayEffect( cgs.effects.forceAcid, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_BESPIN_COP )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_REBEL )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_LANDO )
{
theFxScheduler.PlayEffect( cgs.effects.forceAstral, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_RODIAN )
{
theFxScheduler.PlayEffect( cgs.effects.forceFireball, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_GALAK )
{
theFxScheduler.PlayEffect( cgs.effects.forceFireball, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_JAN )
{
theFxScheduler.PlayEffect( cgs.effects.forceHolly, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_STORMTROOPER )
{
theFxScheduler.PlayEffect( cgs.effects.forceHolly, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_IMPWORKER )
{
theFxScheduler.PlayEffect( cgs.effects.forceFire, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_IMPERIAL )
{
theFxScheduler.PlayEffect( cgs.effects.forceHell, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
}
}
}
}

)>

Link to comment

On cg_weapons:

 

cgs.effects.forceLightning = theFxScheduler.RegisterEffect( "force/lightning" );
cgs.effects.forceLightningWide = theFxScheduler.RegisterEffect( "force/lightningwide" );
cgs.effects.forceWeb = theFxScheduler.RegisterEffect( "force/Web" );
cgs.effects.forceWebwide = theFxScheduler.RegisterEffect( "force/Webwide" );
cgs.effects.forceNecro = theFxScheduler.RegisterEffect( "force/necro" );
cgs.effects.forceNecrowide = theFxScheduler.RegisterEffect( "force/necrowide" );
cgs.effects.forcePoison = theFxScheduler.RegisterEffect( "force/poisonb" );
cgs.effects.forcePoisonwide = theFxScheduler.RegisterEffect( "force/poisonwide" );
cgs.effects.forceHell = theFxScheduler.RegisterEffect( "force/hell" );
cgs.effects.forceHellwide = theFxScheduler.RegisterEffect( "force/hellwide" );
cgs.effects.forceHylden = theFxScheduler.RegisterEffect( "force/hylden" );
cgs.effects.forceHyldenwide = theFxScheduler.RegisterEffect( "force/hyldenwide" );
cgs.effects.forceGreenLightning = theFxScheduler.RegisterEffect( "force/greenlightning" );
cgs.effects.forceGreenLightningwide = theFxScheduler.RegisterEffect( "force/greenlightning2" );
cgs.effects.forceGhost = theFxScheduler.RegisterEffect( "force/ghost" );
cgs.effects.forceGhostwide = theFxScheduler.RegisterEffect( "force/ghostwide" );
cgs.effects.forceDark = theFxScheduler.RegisterEffect( "force/dark" );
cgs.effects.forceDarkwide = theFxScheduler.RegisterEffect( "force/darkwide" );
cgs.effects.forceYellowLightning = theFxScheduler.RegisterEffect( "force/yellowlightning" );
cgs.effects.forceYellowLightningwide = theFxScheduler.RegisterEffect( "force/yellowlightningwide" );
cgs.effects.forceBurst = theFxScheduler.RegisterEffect( "force/burst" );
cgs.effects.forceBurstwide = theFxScheduler.RegisterEffect( "force/burstwide" );
cgs.effects.forceFire = theFxScheduler.RegisterEffect( "force/fire" );
cgs.effects.forceFirewide = theFxScheduler.RegisterEffect( "force/firewide" );
cgs.effects.forceWind = theFxScheduler.RegisterEffect( "force/wind" );
cgs.effects.forceWindwide = theFxScheduler.RegisterEffect( "force/windwide" );
cgs.effects.forceWater = theFxScheduler.RegisterEffect( "force/water" );
cgs.effects.forceWaterwide = theFxScheduler.RegisterEffect( "force/waterwide" );
cgs.effects.forceLava = theFxScheduler.RegisterEffect( "force/lava" );
cgs.effects.forceLavawide = theFxScheduler.RegisterEffect( "force/lavawide" );
cgs.effects.forceIce = theFxScheduler.RegisterEffect( "force/ice" );
cgs.effects.forceIcewide = theFxScheduler.RegisterEffect( "force/icewide" );
cgs.effects.forceStone = theFxScheduler.RegisterEffect( "force/stone" );
cgs.effects.forceStonewide = theFxScheduler.RegisterEffect( "force/stonewide" );
cgs.effects.forceSonic = theFxScheduler.RegisterEffect( "force/sonic" );
cgs.effects.forceSonicwide = theFxScheduler.RegisterEffect( "force/sonicwide" );
cgs.effects.forceAstral = theFxScheduler.RegisterEffect( "force/astral" );
cgs.effects.forceAstralwide = theFxScheduler.RegisterEffect( "force/astralwide" );
cgs.effects.forceFireball = theFxScheduler.RegisterEffect( "force/fireball" );
cgs.effects.forceFireballwide = theFxScheduler.RegisterEffect( "force/fireballwide" );
cgs.effects.forceFirewhite = theFxScheduler.RegisterEffect( "force/firewhite" );
cgs.effects.forceFirewhitewide = theFxScheduler.RegisterEffect( "force/firewhitewide" );
cgs.effects.forceHollyfire = theFxScheduler.RegisterEffect( "force/hollyfire" );
cgs.effects.forceHollyfirewide = theFxScheduler.RegisterEffect( "force/hollyfirewide" );
cgs.effects.forceHolly = theFxScheduler.RegisterEffect( "force/holly" );
cgs.effects.forceHollywide = theFxScheduler.RegisterEffect( "force/hollywide" );
cgs.effects.forceLife = theFxScheduler.RegisterEffect( "force/life" );
cgs.effects.forceLifewide = theFxScheduler.RegisterEffect( "force/lifewide" );
cgs.effects.forceSkull = theFxScheduler.RegisterEffect( "force/skull" );
cgs.effects.forceSkullwide = theFxScheduler.RegisterEffect( "force/skullwide" );
cgs.effects.forceAcid = theFxScheduler.RegisterEffect( "force/acid" );
cgs.effects.forceAcidwide = theFxScheduler.RegisterEffect( "force/acidwide" );
cgs.effects.forceTime = theFxScheduler.RegisterEffect( "force/time" );
cgs.effects.forceTimewide = theFxScheduler.RegisterEffect( "force/timewide" );
cgs.effects.forceStun = theFxScheduler.RegisterEffect( "force/stun" );
cgs.effects.forceStunwide = theFxScheduler.RegisterEffect( "force/stunwide" );
cgs.effects.forceCrystal = theFxScheduler.RegisterEffect( "force/crystal" );
cgs.effects.forceCrystalwide = theFxScheduler.RegisterEffect( "force/crystalwide" );

 

 

On cg_media:

 


//FORCE
fxHandle_t forceConfusion;
// Arcane attack
// Electric
fxHandle_t forceLightning;
fxHandle_t forceLightningWide;
// Zephonim spiderweb
fxHandle_t forceWeb;
fxHandle_t forceWebwide;
// Driel Kan Necromantic Fire
fxHandle_t forceNecro;
fxHandle_t forceNecrowide;
// Poison gas
fxHandle_t forcePoison;
fxHandle_t forcePoisonwide;
// Hell Fire
fxHandle_t forceHell;
fxHandle_t forceHellwide;
// Hylden Fire
fxHandle_t forceHylden;
fxHandle_t forceHyldenwide;
// Hylden lightnings
fxHandle_t forceGreenLightning;
fxHandle_t forceGreenLightningwide;
// Ghost reverberus
fxHandle_t forceGhost;
fxHandle_t forceGhostwide;
// Darkness
fxHandle_t forceDark;
fxHandle_t forceDarkwide;
// Lightning
fxHandle_t forceYellowLightning;
fxHandle_t forceYellowLightningwide;
// Sunburst
fxHandle_t forceBurst;
fxHandle_t forceBurstwide;
// Flames
fxHandle_t forceFire;
fxHandle_t forceFirewide;
// Wind
fxHandle_t forceWind;
fxHandle_t forceWindwide;
// Water
fxHandle_t forceWater;
fxHandle_t forceWaterwide;
// Magma
fxHandle_t forceLava;
fxHandle_t forceLavawide;
// Ice
fxHandle_t forceIce;
fxHandle_t forceIcewide;
// Stone Breath
fxHandle_t forceStone;
fxHandle_t forceStonewide;
// Sonic Wave
fxHandle_t forceSonic;
fxHandle_t forceSonicwide;
// Astral \ Dimension
fxHandle_t forceAstral;
fxHandle_t forceAstralwide;
// Defiance vampire hunter fireball
fxHandle_t forceFireball;
fxHandle_t forceFireballwide;
// Sarafan Cleric Fire
fxHandle_t forceFirewhite;
fxHandle_t forceFirewhitewide;
// Asgarath holly fireb
fxHandle_t forceHollyfire;
fxHandle_t forceHollyfirewide;
// Holly
fxHandle_t forceHolly;
fxHandle_t forceHollywide;
// Life \ Nature Breath
fxHandle_t forceLife;
fxHandle_t forceLifewide;
// Death skull fire
fxHandle_t forceSkull;
fxHandle_t forceSkullwide;
// Acid \ font of putrescense
fxHandle_t forceAcid;
fxHandle_t forceAcidwide;
// Time aura
fxHandle_t forceTime;
fxHandle_t forceTimewide;
// Stunning attack of Mentalist
fxHandle_t forceStun;
fxHandle_t forceStunwide;
// Force Crystal
fxHandle_t forceCrystal;
fxHandle_t forceCrystalwide;
//fxHandle_t forceInvincibility;
fxHandle_t forceHeal;

 

Ph, maybe is beause i not settend the person view on cg_weapons. cpp. O.o

Link to comment

 @@Serenity937

yesterday work with a simple try with one class at the change.

today i use the same method with all class.

Works with all at force powerr level 3. but at force power level 1 and 2, NOT show the lightning effect ingame. O.o. but there is the sound.

I make something of wrong? I have do the definition in cg_media and also the registering of efx in CG_weapons.cpp MMm, maybe is a trouble of the registering of efx >_>

 

 

if ( cent->gent->client->ps.forcePowersActive&(1< {//doing the electrocuting

//FIXME: if the target is absorbing or blocking lightning w/saber, draw a beam from my hand to his (hand?chest?saber?)

vec3_t tAng, fxDir;

VectorCopy( cent->lerpAngles, tAng );

if ( cent->gent->client->ps.forcePowerLevel[FP_LIGHTNING] > FORCE_LEVEL_2 )

{//arc

vec3_t fxAxis[3];

AnglesToAxis( tAng, fxAxis );

if ( cent->gent->client->NPC_class == CLASS_REELO )

{

theFxScheduler.PlayEffect( cgs.effects.forceWebwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_ALORA )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_JEDI )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_LUKE )

{

theFxScheduler.PlayEffect( cgs.effects.forceLifewide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_REBORN )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_KYLE )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_TRANDOSHAN )

{

theFxScheduler.PlayEffect( cgs.effects.forceHollyfirewide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_TUSKEN )

{

theFxScheduler.PlayEffect( cgs.effects.forceNecrowide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_GLIDER )

{

theFxScheduler.PlayEffect( cgs.effects.forceNecrowide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_NOGHRI )

{

theFxScheduler.PlayEffect( cgs.effects.forceStunwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_FLIER2 )

{

theFxScheduler.PlayEffect( cgs.effects.forceStunwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_WEEQUAY )

{

theFxScheduler.PlayEffect( cgs.effects.forceCrystalwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_LIZARD )

{

theFxScheduler.PlayEffect( cgs.effects.forceStonewide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_SWAMPTROOPER )

{

theFxScheduler.PlayEffect( cgs.effects.forceSkullwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_FISH )

{

theFxScheduler.PlayEffect( cgs.effects.forceSkullwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_GRAN )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_CLAW )

{

theFxScheduler.PlayEffect( cgs.effects.forceHellwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_MOUSE )

{

theFxScheduler.PlayEffect( cgs.effects.forceGhostwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_MINEMONSTER )

{

theFxScheduler.PlayEffect( cgs.effects.forcePoisonwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_INTERROGATOR )

{

theFxScheduler.PlayEffect( cgs.effects.forcePoisonwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_WAMPA )

{

theFxScheduler.PlayEffect( cgs.effects.forceHellwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_BOBAFETT )

{

theFxScheduler.PlayEffect( cgs.effects.forceHellwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_TAVION )

{

theFxScheduler.PlayEffect( cgs.effects.forceHyldenwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_DESANN )

{

theFxScheduler.PlayEffect( cgs.effects.forceGreenLightningwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_MORGANKATARN )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_MONMOTHA )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_JAWA )

{

theFxScheduler.PlayEffect( cgs.effects.forceGhostwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_PROBE )

{

theFxScheduler.PlayEffect( cgs.effects.forceWindwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_ROCKETTROOPER )

{

theFxScheduler.PlayEffect( cgs.effects.forceWindwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_COMMANDO )

{

theFxScheduler.PlayEffect( cgs.effects.forceNecrowide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_MURJJ )

{

theFxScheduler.PlayEffect( cgs.effects.forceNecrowide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_SEEKER )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_REMOTE )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_MARK1 )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_MARK2 )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_SABOTEUR )

{

theFxScheduler.PlayEffect( cgs.effects.forceDarkwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_SHADOWTROOPER )

{

theFxScheduler.PlayEffect( cgs.effects.forceDarkwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_SABER_DROID )

{

theFxScheduler.PlayEffect( cgs.effects.forceYellowLightningwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_PROTOCOL )

{

theFxScheduler.PlayEffect( cgs.effects.forceBurstwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_HAZARD_TROOPER )

{

theFxScheduler.PlayEffect( cgs.effects.forceLavawide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_GALAKMECH )

{

theFxScheduler.PlayEffect( cgs.effects.forceIcewide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_BARTENDER )

{

theFxScheduler.PlayEffect( cgs.effects.forceIcewide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_SWAMP )

{

theFxScheduler.PlayEffect( cgs.effects.forceWaterwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_GONK )

{

theFxScheduler.PlayEffect( cgs.effects.forceStonewide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_HOWLER )

{

theFxScheduler.PlayEffect( cgs.effects.forceSonicwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_ASSASSIN_DROID )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_ATST )

{

theFxScheduler.PlayEffect( cgs.effects.forceBurstwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_SAND_CREATURE )

{

theFxScheduler.PlayEffect( cgs.effects.forceGreenLightningwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_PRISONER )

{

theFxScheduler.PlayEffect( cgs.effects.forceAcidwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_BESPIN_COP )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_REBEL )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_LANDO )

{

theFxScheduler.PlayEffect( cgs.effects.forceAstralwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_RODIAN )

{

theFxScheduler.PlayEffect( cgs.effects.forceFireballwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_GALAK )

{

theFxScheduler.PlayEffect( cgs.effects.forceFireballwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_JAN )

{

theFxScheduler.PlayEffect( cgs.effects.forceHollywide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_STORMTROOPER )

{

theFxScheduler.PlayEffect( cgs.effects.forceHollywide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_IMPWORKER )

{

theFxScheduler.PlayEffect( cgs.effects.forceFirewide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_IMPERIAL )

{

theFxScheduler.PlayEffect( cgs.effects.forceHellwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else

{

theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

// theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );

if ( cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING

|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_START

|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_HOLD

|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_RELEASE )

{//jackin' 'em up, Palpatine-style

if ( cent->gent->client->NPC_class == CLASS_REELO )

{

theFxScheduler.PlayEffect( cgs.effects.forceWebwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_ALORA )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_JEDI )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_LUKE )

{

theFxScheduler.PlayEffect( cgs.effects.forceLifewide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_REBORN )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_KYLE )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_TRANDOSHAN )

{

theFxScheduler.PlayEffect( cgs.effects.forceHollyfirewide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_TUSKEN )

{

theFxScheduler.PlayEffect( cgs.effects.forceNecrowide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_GLIDER )

{

theFxScheduler.PlayEffect( cgs.effects.forceNecrowide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_NOGHRI )

{

theFxScheduler.PlayEffect( cgs.effects.forceStunwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_FLIER2 )

{

theFxScheduler.PlayEffect( cgs.effects.forceStunwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_WEEQUAY )

{

theFxScheduler.PlayEffect( cgs.effects.forceCrystalwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_LIZARD )

{

theFxScheduler.PlayEffect( cgs.effects.forceStonewide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_SWAMPTROOPER )

{

theFxScheduler.PlayEffect( cgs.effects.forceSkullwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_FISH )

{

theFxScheduler.PlayEffect( cgs.effects.forceSkullwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_GRAN )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_CLAW )

{

theFxScheduler.PlayEffect( cgs.effects.forceHellwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_MOUSE )

{

theFxScheduler.PlayEffect( cgs.effects.forceGhostwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_MINEMONSTER )

{

theFxScheduler.PlayEffect( cgs.effects.forcePoisonwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_INTERROGATOR )

{

theFxScheduler.PlayEffect( cgs.effects.forcePoisonwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_WAMPA )

{

theFxScheduler.PlayEffect( cgs.effects.forceHellwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_BOBAFETT )

{

theFxScheduler.PlayEffect( cgs.effects.forceHellwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_TAVION )

{

theFxScheduler.PlayEffect( cgs.effects.forceHyldenwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_DESANN )

{

theFxScheduler.PlayEffect( cgs.effects.forceGreenLightningwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_MORGANKATARN )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_MONMOTHA )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_JAWA )

{

theFxScheduler.PlayEffect( cgs.effects.forceGhostwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_PROBE )

{

theFxScheduler.PlayEffect( cgs.effects.forceWindwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_ROCKETTROOPER )

{

theFxScheduler.PlayEffect( cgs.effects.forceWindwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_COMMANDO )

{

theFxScheduler.PlayEffect( cgs.effects.forceNecrowide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_MURJJ )

{

theFxScheduler.PlayEffect( cgs.effects.forceNecrowide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_SEEKER )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_REMOTE )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_MARK1 )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_MARK2 )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_SABOTEUR )

{

theFxScheduler.PlayEffect( cgs.effects.forceDarkwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_SHADOWTROOPER )

{

theFxScheduler.PlayEffect( cgs.effects.forceDarkwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_SABER_DROID )

{

theFxScheduler.PlayEffect( cgs.effects.forceYellowLightningwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_PROTOCOL )

{

theFxScheduler.PlayEffect( cgs.effects.forceBurstwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_HAZARD_TROOPER )

{

theFxScheduler.PlayEffect( cgs.effects.forceLavawide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_GALAKMECH )

{

theFxScheduler.PlayEffect( cgs.effects.forceIcewide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_BARTENDER )

{

theFxScheduler.PlayEffect( cgs.effects.forceIcewide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_SWAMP )

{

theFxScheduler.PlayEffect( cgs.effects.forceWaterwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_GONK )

{

theFxScheduler.PlayEffect( cgs.effects.forceStonewide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_HOWLER )

{

theFxScheduler.PlayEffect( cgs.effects.forceSonicwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_ASSASSIN_DROID )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_ATST )

{

theFxScheduler.PlayEffect( cgs.effects.forceBurstwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_SAND_CREATURE )

{

theFxScheduler.PlayEffect( cgs.effects.forceGreenLightningwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_PRISONER )

{

theFxScheduler.PlayEffect( cgs.effects.forceAcidwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_BESPIN_COP )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_REBEL )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_LANDO )

{

theFxScheduler.PlayEffect( cgs.effects.forceAstralwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_RODIAN )

{

theFxScheduler.PlayEffect( cgs.effects.forceFireballwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_GALAK )

{

theFxScheduler.PlayEffect( cgs.effects.forceFireballwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_JAN )

{

theFxScheduler.PlayEffect( cgs.effects.forceHollywide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_STORMTROOPER )

{

theFxScheduler.PlayEffect( cgs.effects.forceHollywide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_IMPWORKER )

{

theFxScheduler.PlayEffect( cgs.effects.forceFirewide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_IMPERIAL )

{

theFxScheduler.PlayEffect( cgs.effects.forceHellwide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else

{

theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

}

else

{//line

AngleVectors( tAng, fxDir, NULL, NULL );

 

if ( cent->gent->client->NPC_class == CLASS_REELO )

{

theFxScheduler.PlayEffect( cgs.effects.forceWeb, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_ALORA )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_JEDI )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_LUKE )

{

theFxScheduler.PlayEffect( cgs.effects.forceLife, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_REBORN )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_KYLE )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_TRANDOSHAN )

{

theFxScheduler.PlayEffect( cgs.effects.forceHollyfire, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_TUSKEN )

{

theFxScheduler.PlayEffect( cgs.effects.forceNecro, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_GLIDER )

{

theFxScheduler.PlayEffect( cgs.effects.forceNecro, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_NOGHRI )

{

theFxScheduler.PlayEffect( cgs.effects.forceStun, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_FLIER2 )

{

theFxScheduler.PlayEffect( cgs.effects.forceStun, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_WEEQUAY )

{

theFxScheduler.PlayEffect( cgs.effects.forceCrystal, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_LIZARD )

{

theFxScheduler.PlayEffect( cgs.effects.forceStone, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_SWAMPTROOPER )

{

theFxScheduler.PlayEffect( cgs.effects.forceSkull, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_FISH )

{

theFxScheduler.PlayEffect( cgs.effects.forceSkull, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_GRAN )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_CLAW )

{

theFxScheduler.PlayEffect( cgs.effects.forceHell, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_MOUSE )

{

theFxScheduler.PlayEffect( cgs.effects.forceGhost, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_MINEMONSTER )

{

theFxScheduler.PlayEffect( cgs.effects.forcePoison, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_INTERROGATOR )

{

theFxScheduler.PlayEffect( cgs.effects.forcePoison, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_WAMPA )

{

theFxScheduler.PlayEffect( cgs.effects.forceHell, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_BOBAFETT )

{

theFxScheduler.PlayEffect( cgs.effects.forceHell, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_TAVION )

{

theFxScheduler.PlayEffect( cgs.effects.forceHylden, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_DESANN )

{

theFxScheduler.PlayEffect( cgs.effects.forceGreenLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_MORGANKATARN )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_MONMOTHA )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_JAWA )

{

theFxScheduler.PlayEffect( cgs.effects.forceGhost, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_PROBE )

{

theFxScheduler.PlayEffect( cgs.effects.forceWind, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_ROCKETTROOPER )

{

theFxScheduler.PlayEffect( cgs.effects.forceWind, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_COMMANDO )

{

theFxScheduler.PlayEffect( cgs.effects.forceNecro, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_MURJJ )

{

theFxScheduler.PlayEffect( cgs.effects.forceNecro, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_SEEKER )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_REMOTE )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_MARK1 )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_MARK2 )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_SABOTEUR )

{

theFxScheduler.PlayEffect( cgs.effects.forceDark, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_SHADOWTROOPER )

{

theFxScheduler.PlayEffect( cgs.effects.forceDark, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_SABER_DROID )

{

theFxScheduler.PlayEffect( cgs.effects.forceYellowLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_PROTOCOL )

{

theFxScheduler.PlayEffect( cgs.effects.forceBurst, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_HAZARD_TROOPER )

{

theFxScheduler.PlayEffect( cgs.effects.forceLava, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_GALAKMECH )

{

theFxScheduler.PlayEffect( cgs.effects.forceIce, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_BARTENDER )

{

theFxScheduler.PlayEffect( cgs.effects.forceIce, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_SWAMP )

{

theFxScheduler.PlayEffect( cgs.effects.forceWater, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_GONK )

{

theFxScheduler.PlayEffect( cgs.effects.forceStone, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_HOWLER )

{

theFxScheduler.PlayEffect( cgs.effects.forceSonic, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_ASSASSIN_DROID )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_ATST )

{

theFxScheduler.PlayEffect( cgs.effects.forceBurst, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_SAND_CREATURE )

{

theFxScheduler.PlayEffect( cgs.effects.forceGreenLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_PRISONER )

{

theFxScheduler.PlayEffect( cgs.effects.forceAcid, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_BESPIN_COP )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_REBEL )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_LANDO )

{

theFxScheduler.PlayEffect( cgs.effects.forceAstral, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_RODIAN )

{

theFxScheduler.PlayEffect( cgs.effects.forceFireball, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_GALAK )

{

theFxScheduler.PlayEffect( cgs.effects.forceFireball, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_JAN )

{

theFxScheduler.PlayEffect( cgs.effects.forceHolly, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_STORMTROOPER )

{

theFxScheduler.PlayEffect( cgs.effects.forceHolly, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_IMPWORKER )

{

theFxScheduler.PlayEffect( cgs.effects.forceFire, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_IMPERIAL )

{

theFxScheduler.PlayEffect( cgs.effects.forceHell, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else

{

theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxDir );

}

// theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );

if ( cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING

|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_START

|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_HOLD

|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_RELEASE )

{//jackin' 'em up, Palpatine-style

if ( cent->gent->client->NPC_class == CLASS_REELO )

{

theFxScheduler.PlayEffect( cgs.effects.forceWeb, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_ALORA )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_JEDI )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_LUKE )

{

theFxScheduler.PlayEffect( cgs.effects.forceLife, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_REBORN )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_KYLE )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_TRANDOSHAN )

{

theFxScheduler.PlayEffect( cgs.effects.forceHollyfire, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_TUSKEN )

{

theFxScheduler.PlayEffect( cgs.effects.forceNecro, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_GLIDER )

{

theFxScheduler.PlayEffect( cgs.effects.forceNecro, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_NOGHRI )

{

theFxScheduler.PlayEffect( cgs.effects.forceStun, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_FLIER2 )

{

theFxScheduler.PlayEffect( cgs.effects.forceStun, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_WEEQUAY )

{

theFxScheduler.PlayEffect( cgs.effects.forceCrystal, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_LIZARD )

{

theFxScheduler.PlayEffect( cgs.effects.forceStone, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_SWAMPTROOPER )

{

theFxScheduler.PlayEffect( cgs.effects.forceSkull, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_FISH )

{

theFxScheduler.PlayEffect( cgs.effects.forceSkull, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_GRAN )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_CLAW )

{

theFxScheduler.PlayEffect( cgs.effects.forceHell, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_MOUSE )

{

theFxScheduler.PlayEffect( cgs.effects.forceGhost, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_MINEMONSTER )

{

theFxScheduler.PlayEffect( cgs.effects.forcePoison, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_INTERROGATOR )

{

theFxScheduler.PlayEffect( cgs.effects.forcePoison, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_WAMPA )

{

theFxScheduler.PlayEffect( cgs.effects.forceHell, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_BOBAFETT )

{

theFxScheduler.PlayEffect( cgs.effects.forceHell, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_TAVION )

{

theFxScheduler.PlayEffect( cgs.effects.forceHylden, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_DESANN )

{

theFxScheduler.PlayEffect( cgs.effects.forceGreenLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_MORGANKATARN )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_MONMOTHA )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_JAWA )

{

theFxScheduler.PlayEffect( cgs.effects.forceGhost, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_PROBE )

{

theFxScheduler.PlayEffect( cgs.effects.forceWind, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_ROCKETTROOPER )

{

theFxScheduler.PlayEffect( cgs.effects.forceWind, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_COMMANDO )

{

theFxScheduler.PlayEffect( cgs.effects.forceNecro, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_MURJJ )

{

theFxScheduler.PlayEffect( cgs.effects.forceNecro, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_SEEKER )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_REMOTE )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_MARK1 )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_MARK2 )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_SABOTEUR )

{

theFxScheduler.PlayEffect( cgs.effects.forceDark, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_SHADOWTROOPER )

{

theFxScheduler.PlayEffect( cgs.effects.forceDark, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_SABER_DROID )

{

theFxScheduler.PlayEffect( cgs.effects.forceYellowLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_PROTOCOL )

{

theFxScheduler.PlayEffect( cgs.effects.forceBurst, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_HAZARD_TROOPER )

{

theFxScheduler.PlayEffect( cgs.effects.forceLava, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_GALAKMECH )

{

theFxScheduler.PlayEffect( cgs.effects.forceIce, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_BARTENDER )

{

theFxScheduler.PlayEffect( cgs.effects.forceIce, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_SWAMP )

{

theFxScheduler.PlayEffect( cgs.effects.forceWater, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_GONK )

{

theFxScheduler.PlayEffect( cgs.effects.forceStone, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_HOWLER )

{

theFxScheduler.PlayEffect( cgs.effects.forceSonic, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_ASSASSIN_DROID )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_ATST )

{

theFxScheduler.PlayEffect( cgs.effects.forceBurst, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_SAND_CREATURE )

{

theFxScheduler.PlayEffect( cgs.effects.forceGreenLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_PRISONER )

{

theFxScheduler.PlayEffect( cgs.effects.forceAcid, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_BESPIN_COP )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_REBEL )

{

theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_LANDO )

{

theFxScheduler.PlayEffect( cgs.effects.forceAstral, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_RODIAN )

{

theFxScheduler.PlayEffect( cgs.effects.forceFireball, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_GALAK )

{

theFxScheduler.PlayEffect( cgs.effects.forceFireball, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_JAN )

{

theFxScheduler.PlayEffect( cgs.effects.forceHolly, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_STORMTROOPER )

{

theFxScheduler.PlayEffect( cgs.effects.forceHolly, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_IMPWORKER )

{

theFxScheduler.PlayEffect( cgs.effects.forceFire, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else if ( cent->gent->client->NPC_class == CLASS_IMPERIAL )

{

theFxScheduler.PlayEffect( cgs.effects.forceHell, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

else

{

theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxAxis );

}

}

}

}

}

)>

 

 

everything looks like its only set do from 1 hand ,left only !  handLPoint 

if ( cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING
						|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_START
						|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_HOLD
						|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_RELEASE )
					{//jackin' 'em up, Palpatine-style
						
						if ( cent->gent->client->NPC_class == CLASS_DESANN
							|| cent->gent->client->NPC_class == CLASS_TAVION
							|| cent->gent->client->NPC_class == CLASS_ALORA )
						{
							theFxScheduler.PlayEffect( cgs.effects.redlightningwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
						}
						else if ( cent->gent->client->NPC_class == CLASS_SHADOWTROOPER )
						{
							theFxScheduler.PlayEffect( cgs.effects.greenlightningwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
						}
						else if ( cent->gent->client->NPC_class == CLASS_REBORN )
						{
							if ( Q_irand( 0, 2 ) )
							{
								theFxScheduler.PlayEffect( cgs.effects.redlightningwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
							}
							else
							{
								theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handRPoint, fxAxis );
							}
						}
						else
						{
							theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handRPoint, fxAxis );
						}
					}

note the use of handRPoint

 

 

i think because your overlapping code commands your causing the error there?

Link to comment

@@Serenity937

2 days ago: after a day of work about brank, if and else, i simply add the class reelo to the original code for make a try.

also, i have registered sound, also if i not unsertdand much how the engine recognize the sound of the lightning or the sound playing when shoo a lightning.

Result: of first day of work:

about kain, i not have screenshot, but simply kain and all other class use defualt lightning without change.

but CLASS_REELO make this:

 

https://www.dropbox.com/sh/ot61ijbwod9ire3/AADJsw20k_vYkf0XL1ztBDTOa

 

the character is a Reaver like raziel. in life vampire hunter, in death, zephonim vampire, as wraith,... a wraith with powers like hynrod between raziel and spiderman.

Very cool character.

so when he shoot lightning...,shoot spiderweb, all working 2 days ago.

yesterday i have simpled added the cg_media voice, the cg_register voice and the LOOONG if \ else tree for all classes.

i have not again ready the other "lightning" magivc power for other class, but i see that at level 3 all class i want shoot ... grey square sprites with white border. so the efect is change, but obvious because i not make again the efx files, (and it's a long workmake all) the character shoot an "empty sprite" lightning LOL.

however, the effect now works only at level 3, but at level 1 and 2, also if i listen tghe sound (the spiderweb making his custom sound, not the lightning sound, because i have regustered the sound , too.)

at level 1 and 2, effects are shooted, but... are not visibiles. O.o

game bnot crqash or other, the spiderweb and the lightning or other efx, at level 1 -2 simply not be showed. O.o

well, at level 1 and 2 the effect are shooted only by left hand, the right hand shoot weapons, the left hand shoot force power, right?

the force lightning shoot at level 3 with all two weapons, also if in the code is setted only the lhand tag.

error howver is in cg_players.cpp. i edited cg_weapons as you told because i was thinking "olay, maybe is because left  the code of the shoot view in cg_weapons.cpp.

but not change nothing.

i show you the original FP_lightning code:

 


if ( cent->gent->client->ps.forcePowersActive&(1< {//doing the electrocuting
//FIXME: if the target is absorbing or blocking lightning w/saber, draw a beam from my hand to his (hand?chest?saber?)
vec3_t tAng, fxDir;
VectorCopy( cent->lerpAngles, tAng );
if ( cent->gent->client->ps.forcePowerLevel[FP_LIGHTNING] > FORCE_LEVEL_2 )
{//arc
vec3_t fxAxis[3];
AnglesToAxis( tAng, fxAxis );

if ( cent->gent->client->NPC_class == CLASS_REELO )
{
theFxScheduler.PlayEffect( cgs.effects.forceWebwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}

//theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );

if ( cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING
|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_START
|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_HOLD
|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_RELEASE )
{//jackin' 'em up, Palpatine-style

if ( cent->gent->client->NPC_class == CLASS_REELO )
{
theFxScheduler.PlayEffect( cgs.effects.forceWebwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
//theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
}
else
{//line
AngleVectors( tAng, fxDir, NULL, NULL );

if ( cent->gent->client->NPC_class == CLASS_REELO )
{
theFxScheduler.PlayEffect( cgs.effects.forceWeb, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxDir );
}

//theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxDir );

if ( cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING
|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_START
|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_HOLD
|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_RELEASE )
{//jackin' 'em up, Palpatine-style
if ( cent->gent->client->NPC_class == CLASS_REELO )
{
theFxScheduler.PlayEffect( cgs.effects.forceWeb, cent->gent->client->renderInfo.handRPoint, fxDir );
}
else
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handRPoint, fxDir );
}
//theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handRPoint, fxDir );
}
}
}

)>

This is my working code about the force spiderweb class reelo. yu can see in my dropbox link the screenshoots of the effects

about the looong code if \ else if i show you yesterday...

level 3 of the FP_LIGHTNING: it's okay.

Level 1-2: not show the efx shooted by hand O.o

....

wait a minute!! O.o

* look the 2 codes, the working and not working...

i not seen the Rpoint and Lpoint of the hands. Maybe is really that. i try to fix. O.o

Link to comment

@@Serenity937

I need really to thanks you for all your suggest!

Now i have edited

dmg of weapons, class damage of weapons on NPCs,

the force lightning now are fully custmizzable.

for what i see: my error was:

FP_LIGHTNING to level 3 and up need to set as FxAxis, FP_Lightning to level 1-2 to FxDir, i was setted ALL to fixAxis

2: wrong tag setting about the lhand and rhand point. for FP_lightning level 3 need to copy two time the "jack'em palpatine part" one for shoot by left hand and the other for right hand.

for force power level 1 and 2, it's not necessary to make the duplication: the power is shooted only by lpoint hand. :)

Now work! i try also to another NPC that shoot... Snow LOL. so a glacial attack, it's VERY cool! :D

Here there the Fully, Working Code of My mod for customizate the FP_LIGHTNING by class of shooter. to all peoples of forum, follow my indication about cg_media and cg_weapons for declair and register the effects, and do something like that on cg_players and anyone can have force power customizzable without making 300 new force powers LOL. that's is the faster way to make a large variety of force attacks. for fantasy mods, that's can be very useful.

 


@@Serenity937 i have to ask you two last thing. i suppose i can use the same tecnique for FP_DRAIN and Rage and Telepathy so i can customize also they without building force power.
FP_telepathy it's little hard because is not on the "shooter" of the power, but on the NPC hitted by the power. emm, i need to customize telepathy effect aura efx upon their heads ON the victimis at second of NPC class of playermodel that use the mindtrick, is possible to make that? and if yes, how? that's is the hardest part.

second question: how can i edit th shader color of the force push \ pull grip power? i think works as i done for SIGHt, protect and absorb, but in what part of the code is setted the RGB of push \ pull \ grip? that's because in Defiacne telekinesis have a green effect, so i need to make green, and not red, the FP_GRIP \ Pull \ Push shader.

Last question, regar the WP_CONCUSSION. i have hacked the weapons for shoot 2 vampire spells called stun and incapacitate.

into the stun simply the enemy stay without fight and move in the "BOTH_ROSH_PAIN" animation.  that's is for primary attack.

the secondary attack, the ray burst shoot, shoot the incapacitate, that spell... freeze the enemy move,a nimation etc for 5 second.

i now you make some freeezing grenades on yours mod, so can i ask you the code of freezing? i need to apply something like that on WP_CONCUSSION, nothing else. O.o

after that, my code work for my mod is ended. after is only effect buld, npc and ui configuration and map building. and maybe i can do something about the Dagobah map someone has required here.

the other think like blindness, sonic stunning and poison and burning i can do with Icarus and the mindtrickscript.:)  so the FP_MINDTRICK altered shoot the "visual efx" of the alteration elemental states, and the script started on the enemy, change is status and behavours. :)

That's all I need.

i know, the hardest part is the freezing \ stunning function for concussion and the mindtrick class code about the effect changed on the victims by the class ... not of the victims, but of the player that use telepathy on their heads. @.@ however thanks for suggest, yoour notification got me in the right road for solve the problem. :) the other thing for what lightning not works much done was a .. brank problem. here the working code of my lightning class. :)

 

( cent->gent->client->ps.forcePowersActive&(1< {//doing the electrocuting
//FIXME: if the target is absorbing or blocking lightning w/saber, draw a beam from my hand to his (hand?chest?saber?)
vec3_t tAng, fxDir;
VectorCopy( cent->lerpAngles, tAng );
if ( cent->gent->client->ps.forcePowerLevel[FP_LIGHTNING] > FORCE_LEVEL_2 )
{//arc
vec3_t fxAxis[3];
AnglesToAxis( tAng, fxAxis );
/* theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis ); */
if ( cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING
|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_START
|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_HOLD
|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_RELEASE )
{//jackin' 'em up, Palpatine-style
/* theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handRPoint, fxAxis ); */
if ( cent->gent->client->NPC_class == CLASS_REELO )
{
theFxScheduler.PlayEffect( cgs.effects.forceWebwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_ALORA )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_JEDI )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_LUKE )
{
theFxScheduler.PlayEffect( cgs.effects.forceLifewide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_REBORN )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_KYLE )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_TRANDOSHAN )
{
theFxScheduler.PlayEffect( cgs.effects.forceHollyfirewide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_TUSKEN )
{
theFxScheduler.PlayEffect( cgs.effects.forceNecrowide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_GLIDER )
{
theFxScheduler.PlayEffect( cgs.effects.forceNecrowide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_NOGHRI )
{
theFxScheduler.PlayEffect( cgs.effects.forceStunwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_FLIER2 )
{
theFxScheduler.PlayEffect( cgs.effects.forceStunwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_WEEQUAY )
{
theFxScheduler.PlayEffect( cgs.effects.forceCrystalwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_LIZARD )
{
theFxScheduler.PlayEffect( cgs.effects.forceStonewide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SWAMPTROOPER )
{
theFxScheduler.PlayEffect( cgs.effects.forceSkullwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_FISH )
{
theFxScheduler.PlayEffect( cgs.effects.forceSkullwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_GRAN )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_CLAW )
{
theFxScheduler.PlayEffect( cgs.effects.forceHellwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MOUSE )
{
theFxScheduler.PlayEffect( cgs.effects.forceGhostwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MINEMONSTER )
{
theFxScheduler.PlayEffect( cgs.effects.forcePoisonwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_INTERROGATOR )
{
theFxScheduler.PlayEffect( cgs.effects.forcePoisonwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_WAMPA )
{
theFxScheduler.PlayEffect( cgs.effects.forceHellwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_BOBAFETT )
{
theFxScheduler.PlayEffect( cgs.effects.forceHellwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_TAVION )
{
theFxScheduler.PlayEffect( cgs.effects.forceHyldenwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_DESANN )
{
theFxScheduler.PlayEffect( cgs.effects.forceGreenLightningwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MORGANKATARN )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MONMOTHA )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_JAWA )
{
theFxScheduler.PlayEffect( cgs.effects.forceGhostwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_PROBE )
{
theFxScheduler.PlayEffect( cgs.effects.forceWindwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_ROCKETTROOPER )
{
theFxScheduler.PlayEffect( cgs.effects.forceWindwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_COMMANDO )
{
theFxScheduler.PlayEffect( cgs.effects.forceNecrowide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MURJJ )
{
theFxScheduler.PlayEffect( cgs.effects.forceNecrowide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SEEKER )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_REMOTE )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MARK1 )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MARK2 )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SABOTEUR )
{
theFxScheduler.PlayEffect( cgs.effects.forceDarkwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SHADOWTROOPER )
{
theFxScheduler.PlayEffect( cgs.effects.forceDarkwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SABER_DROID )
{
theFxScheduler.PlayEffect( cgs.effects.forceYellowLightningwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_PROTOCOL )
{
theFxScheduler.PlayEffect( cgs.effects.forceBurstwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_HAZARD_TROOPER )
{
theFxScheduler.PlayEffect( cgs.effects.forceLavawide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_GALAKMECH )
{
theFxScheduler.PlayEffect( cgs.effects.forceIcewide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_BARTENDER )
{
theFxScheduler.PlayEffect( cgs.effects.forceIcewide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SWAMP )
{
theFxScheduler.PlayEffect( cgs.effects.forceWaterwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_GONK )
{
theFxScheduler.PlayEffect( cgs.effects.forceStonewide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_HOWLER )
{
theFxScheduler.PlayEffect( cgs.effects.forceSonicwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_ASSASSIN_DROID )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_ATST )
{
theFxScheduler.PlayEffect( cgs.effects.forceBurstwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SAND_CREATURE )
{
theFxScheduler.PlayEffect( cgs.effects.forceGreenLightningwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_PRISONER )
{
theFxScheduler.PlayEffect( cgs.effects.forceAcidwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_BESPIN_COP )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_REBEL )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_LANDO )
{
theFxScheduler.PlayEffect( cgs.effects.forceAstralwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_RODIAN )
{
theFxScheduler.PlayEffect( cgs.effects.forceFireballwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_GALAK )
{
theFxScheduler.PlayEffect( cgs.effects.forceFireballwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_JAN )
{
theFxScheduler.PlayEffect( cgs.effects.forceHollywide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_STORMTROOPER )
{
theFxScheduler.PlayEffect( cgs.effects.forceHollywide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_IMPWORKER )
{
theFxScheduler.PlayEffect( cgs.effects.forceFirewide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_IMPERIAL )
{
theFxScheduler.PlayEffect( cgs.effects.forceHellwide, cent->gent->client->renderInfo.handRPoint, fxAxis );
}
}
}
if ( cent->gent->client->ps.forcePowerLevel[FP_LIGHTNING] > FORCE_LEVEL_2 )
{//arc
vec3_t fxAxis[3];
AnglesToAxis( tAng, fxAxis );
/* theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis ); */
if ( cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING
|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_START
|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_HOLD
|| cent->gent->client->ps.torsoAnim == BOTH_FORCE_2HANDEDLIGHTNING_RELEASE )
{//jackin' 'em up, Palpatine-style
/* theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handRPoint, fxAxis ); */
if ( cent->gent->client->NPC_class == CLASS_REELO )
{
theFxScheduler.PlayEffect( cgs.effects.forceWebwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_ALORA )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_JEDI )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_LUKE )
{
theFxScheduler.PlayEffect( cgs.effects.forceLifewide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_REBORN )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_KYLE )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_TRANDOSHAN )
{
theFxScheduler.PlayEffect( cgs.effects.forceHollyfirewide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_TUSKEN )
{
theFxScheduler.PlayEffect( cgs.effects.forceNecrowide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_GLIDER )
{
theFxScheduler.PlayEffect( cgs.effects.forceNecrowide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_NOGHRI )
{
theFxScheduler.PlayEffect( cgs.effects.forceStunwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_FLIER2 )
{
theFxScheduler.PlayEffect( cgs.effects.forceStunwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_WEEQUAY )
{
theFxScheduler.PlayEffect( cgs.effects.forceCrystalwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_LIZARD )
{
theFxScheduler.PlayEffect( cgs.effects.forceStonewide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SWAMPTROOPER )
{
theFxScheduler.PlayEffect( cgs.effects.forceSkullwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_FISH )
{
theFxScheduler.PlayEffect( cgs.effects.forceSkullwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_GRAN )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_CLAW )
{
theFxScheduler.PlayEffect( cgs.effects.forceHellwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MOUSE )
{
theFxScheduler.PlayEffect( cgs.effects.forceGhostwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MINEMONSTER )
{
theFxScheduler.PlayEffect( cgs.effects.forcePoisonwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_INTERROGATOR )
{
theFxScheduler.PlayEffect( cgs.effects.forcePoisonwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_WAMPA )
{
theFxScheduler.PlayEffect( cgs.effects.forceHellwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_BOBAFETT )
{
theFxScheduler.PlayEffect( cgs.effects.forceHellwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_TAVION )
{
theFxScheduler.PlayEffect( cgs.effects.forceHyldenwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_DESANN )
{
theFxScheduler.PlayEffect( cgs.effects.forceGreenLightningwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MORGANKATARN )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MONMOTHA )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_JAWA )
{
theFxScheduler.PlayEffect( cgs.effects.forceGhostwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_PROBE )
{
theFxScheduler.PlayEffect( cgs.effects.forceWindwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_ROCKETTROOPER )
{
theFxScheduler.PlayEffect( cgs.effects.forceWindwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_COMMANDO )
{
theFxScheduler.PlayEffect( cgs.effects.forceNecrowide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MURJJ )
{
theFxScheduler.PlayEffect( cgs.effects.forceNecrowide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SEEKER )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_REMOTE )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MARK1 )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MARK2 )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SABOTEUR )
{
theFxScheduler.PlayEffect( cgs.effects.forceDarkwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SHADOWTROOPER )
{
theFxScheduler.PlayEffect( cgs.effects.forceDarkwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SABER_DROID )
{
theFxScheduler.PlayEffect( cgs.effects.forceYellowLightningwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_PROTOCOL )
{
theFxScheduler.PlayEffect( cgs.effects.forceBurstwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_HAZARD_TROOPER )
{
theFxScheduler.PlayEffect( cgs.effects.forceLavawide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_GALAKMECH )
{
theFxScheduler.PlayEffect( cgs.effects.forceIcewide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_BARTENDER )
{
theFxScheduler.PlayEffect( cgs.effects.forceIcewide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SWAMP )
{
theFxScheduler.PlayEffect( cgs.effects.forceWaterwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_GONK )
{
theFxScheduler.PlayEffect( cgs.effects.forceStonewide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_HOWLER )
{
theFxScheduler.PlayEffect( cgs.effects.forceSonicwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_ASSASSIN_DROID )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_ATST )
{
theFxScheduler.PlayEffect( cgs.effects.forceBurstwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_SAND_CREATURE )
{
theFxScheduler.PlayEffect( cgs.effects.forceGreenLightningwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_PRISONER )
{
theFxScheduler.PlayEffect( cgs.effects.forceAcidwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_BESPIN_COP )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_REBEL )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightningWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_LANDO )
{
theFxScheduler.PlayEffect( cgs.effects.forceAstralwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_RODIAN )
{
theFxScheduler.PlayEffect( cgs.effects.forceFireballwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_GALAK )
{
theFxScheduler.PlayEffect( cgs.effects.forceFireballwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_JAN )
{
theFxScheduler.PlayEffect( cgs.effects.forceHollywide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_STORMTROOPER )
{
theFxScheduler.PlayEffect( cgs.effects.forceHollywide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_IMPWORKER )
{
theFxScheduler.PlayEffect( cgs.effects.forceFirewide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_IMPERIAL )
{
theFxScheduler.PlayEffect( cgs.effects.forceHellwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
}
}
else
{//line
AngleVectors( tAng, fxDir, NULL, NULL );
/* theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxDir ); */
if ( cent->gent->client->NPC_class == CLASS_REELO )
{
theFxScheduler.PlayEffect( cgs.effects.forceWeb, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_ALORA )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_JEDI )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_LUKE )
{
theFxScheduler.PlayEffect( cgs.effects.forceLife, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_REBORN )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_KYLE )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_TRANDOSHAN )
{
theFxScheduler.PlayEffect( cgs.effects.forceHollyfire, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_TUSKEN )
{
theFxScheduler.PlayEffect( cgs.effects.forceNecro, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_GLIDER )
{
theFxScheduler.PlayEffect( cgs.effects.forceNecro, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_NOGHRI )
{
theFxScheduler.PlayEffect( cgs.effects.forceStun, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_FLIER2 )
{
theFxScheduler.PlayEffect( cgs.effects.forceStun, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_WEEQUAY )
{
theFxScheduler.PlayEffect( cgs.effects.forceCrystal, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_LIZARD )
{
theFxScheduler.PlayEffect( cgs.effects.forceStone, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_SWAMPTROOPER )
{
theFxScheduler.PlayEffect( cgs.effects.forceSkull, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_FISH )
{
theFxScheduler.PlayEffect( cgs.effects.forceSkull, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_GRAN )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_CLAW )
{
theFxScheduler.PlayEffect( cgs.effects.forceHell, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_MOUSE )
{
theFxScheduler.PlayEffect( cgs.effects.forceGhost, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_MINEMONSTER )
{
theFxScheduler.PlayEffect( cgs.effects.forcePoison, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_INTERROGATOR )
{
theFxScheduler.PlayEffect( cgs.effects.forcePoison, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_WAMPA )
{
theFxScheduler.PlayEffect( cgs.effects.forceHell, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_BOBAFETT )
{
theFxScheduler.PlayEffect( cgs.effects.forceHell, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_TAVION )
{
theFxScheduler.PlayEffect( cgs.effects.forceHylden, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_DESANN )
{
theFxScheduler.PlayEffect( cgs.effects.forceGreenLightning, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_MORGANKATARN )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_MONMOTHA )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_JAWA )
{
theFxScheduler.PlayEffect( cgs.effects.forceGhost, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_PROBE )
{
theFxScheduler.PlayEffect( cgs.effects.forceWind, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_ROCKETTROOPER )
{
theFxScheduler.PlayEffect( cgs.effects.forceWind, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_COMMANDO )
{
theFxScheduler.PlayEffect( cgs.effects.forceNecro, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_MURJJ )
{
theFxScheduler.PlayEffect( cgs.effects.forceNecro, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_SEEKER )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_REMOTE )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_MARK1 )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_MARK2 )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_SABOTEUR )
{
theFxScheduler.PlayEffect( cgs.effects.forceDark, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_SHADOWTROOPER )
{
theFxScheduler.PlayEffect( cgs.effects.forceDark, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_SABER_DROID )
{
theFxScheduler.PlayEffect( cgs.effects.forceYellowLightning, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_PROTOCOL )
{
theFxScheduler.PlayEffect( cgs.effects.forceBurst, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_HAZARD_TROOPER )
{
theFxScheduler.PlayEffect( cgs.effects.forceLava, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_GALAKMECH )
{
theFxScheduler.PlayEffect( cgs.effects.forceIce, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_BARTENDER )
{
theFxScheduler.PlayEffect( cgs.effects.forceIce, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_SWAMP )
{
theFxScheduler.PlayEffect( cgs.effects.forceWater, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_GONK )
{
theFxScheduler.PlayEffect( cgs.effects.forceStone, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_HOWLER )
{
theFxScheduler.PlayEffect( cgs.effects.forceSonic, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_ASSASSIN_DROID )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_ATST )
{
theFxScheduler.PlayEffect( cgs.effects.forceBurst, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_SAND_CREATURE )
{
theFxScheduler.PlayEffect( cgs.effects.forceGreenLightning, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_PRISONER )
{
theFxScheduler.PlayEffect( cgs.effects.forceAcid, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_BESPIN_COP )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_REBEL )
{
theFxScheduler.PlayEffect( cgs.effects.forceLightning, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_LANDO )
{
theFxScheduler.PlayEffect( cgs.effects.forceAstral, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_RODIAN )
{
theFxScheduler.PlayEffect( cgs.effects.forceFireball, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_GALAK )
{
theFxScheduler.PlayEffect( cgs.effects.forceFireball, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_JAN )
{
theFxScheduler.PlayEffect( cgs.effects.forceHolly, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_STORMTROOPER )
{
theFxScheduler.PlayEffect( cgs.effects.forceHolly, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_IMPWORKER )
{
theFxScheduler.PlayEffect( cgs.effects.forceFire, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_IMPERIAL )
{
theFxScheduler.PlayEffect( cgs.effects.forceHell, cent->gent->client->renderInfo.handLPoint, fxDir );
}
}
}

)>

Link to comment

@@Serenity937 that's is hilarous and i check better tomorrow. i try to make the same of FP_LIGHTNING on the FP_DRAIN power.

problem is: not work: i not see anyone change in game. O.O

 

CGmedia Edit:

 

//new stuff for Jedi Academy
fxHandle_t forceDrain;
fxHandle_t forceDrainWide;
fxHandle_t forceDrained;
fxHandle_t forceSouldrain;
fxHandle_t forceSouldrainwide;
fxHandle_t forceSouldrained;
fxHandle_t forceHyldendrain;
fxHandle_t forceHyldendrainwide;
fxHandle_t forceHyldendrained;
fxHandle_t forceNecrodrain;
fxHandle_t forceNecrodrainwide;
fxHandle_t forceNecrodrained;
fxHandle_t forceHelldrain;
fxHandle_t forceHelldrainwide;
fxHandle_t forceHelldrained;

 

CgWeaponsEdit:

 

CgPlayers edit:

 

if ( (cent->gent->client->ps.eFlags&EF_POWERING_ROSH) )
{
vec3_t tAng, fxDir;
VectorCopy( cent->lerpAngles, tAng );
AngleVectors( tAng, fxDir, NULL, NULL );
theFxScheduler.PlayEffect( cgs.effects.forceDrain, cent->gent->client->renderInfo.handLPoint, fxDir );//theFxScheduler.RegisterEffect( "force/dr1" )
}

if ( cent->gent->client->ps.forcePowersActive&(1< && cent->gent->client->ps.forceDrainEntityNum >= ENTITYNUM_WORLD )
{//doing the draining and not on a single person
vec3_t tAng, fxDir;
VectorCopy( cent->lerpAngles, tAng );
if ( cent->gent->client->ps.forcePowerLevel[FP_DRAIN] > FORCE_LEVEL_2 )
{//arc
vec3_t fxAxis[3];
AnglesToAxis( tAng, fxAxis );
/* theFxScheduler.PlayEffect( cgs.effects.forceDrainWide, cent->gent->client->renderInfo.handLPoint, fxAxis );*/
if ( cent->gent->client->NPC_class == CLASS_REELO || cent->gent->client->NPC_class == CLASS_JEDI ||
cent->gent->client->NPC_class == CLASS_RANCOR || cent->gent->client->NPC_class == CLASS_LUKE ||
cent->gent->client->NPC_class == CLASS_MOUSE || cent->gent->client->NPC_class == CLASS_JAWA ||
cent->gent->client->NPC_class == CLASS_ATST || cent->gent->client->NPC_class == CLASS_SAND_CREATURE ||
cent->gent->client->NPC_class == CLASS_ROCKETTROOPER || cent->gent->client->NPC_class == CLASS_ASSASSIN_DROID ||
cent->gent->client->NPC_class == CLASS_PROBE )
{
theFxScheduler.PlayEffect( cgs.effects.forceSouldrainwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_KYLE || cent->gent->client->NPC_class == CLASS_REBORN ||
cent->gent->client->NPC_class == CLASS_TUSKEN || cent->gent->client->NPC_class == CLASS_GLIDER ||
cent->gent->client->NPC_class == CLASS_NOGHRI || cent->gent->client->NPC_class == CLASS_FLIER2 ||
cent->gent->client->NPC_class == CLASS_WEEQUAY || cent->gent->client->NPC_class == CLASS_LIZARD ||
cent->gent->client->NPC_class == CLASS_SWAMPTROOPER || cent->gent->client->NPC_class == CLASS_FISH ||
cent->gent->client->NPC_class == CLASS_NOGHRI || cent->gent->client->NPC_class == CLASS_FLIER2 ||
cent->gent->client->NPC_class == CLASS_GRAN || cent->gent->client->NPC_class == CLASS_CLAW ||
cent->gent->client->NPC_class == CLASS_MONMOTHA || cent->gent->client->NPC_class == CLASS_ALORA ||
cent->gent->client->NPC_class == CLASS_SWAMP || cent->gent->client->NPC_class == CLASS_INTERROGATOR )
{
theFxScheduler.PlayEffect( cgs.effects.forceDrainWide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MURJJ || cent->gent->client->NPC_class == CLASS_COMMANDO ||
cent->gent->client->NPC_class == CLASS_PRISONER || cent->gent->client->NPC_class == CLASS_REBEL ||
cent->gent->client->NPC_class == CLASS_BESPIN_COP || cent->gent->client->NPC_class == CLASS_SABOTEUR ||
cent->gent->client->NPC_class == CLASS_SHADOWTROOPER || cent->gent->client->NPC_class == CLASS_STORMTROOPER ||
cent->gent->client->NPC_class == CLASS_SWAMPTROOPER || cent->gent->client->NPC_class == CLASS_FISH ||
cent->gent->client->NPC_class == CLASS_TRANDOSHAN || cent->gent->client->NPC_class == CLASS_SWAMP ||
cent->gent->client->NPC_class == CLASS_IMPERIAL || cent->gent->client->NPC_class == CLASS_IMPWORKER ||
cent->gent->client->NPC_class == CLASS_JAN || cent->gent->client->NPC_class == CLASS_LANDO ||
cent->gent->client->NPC_class == CLASS_GALAK || cent->gent->client->NPC_class == CLASS_RODIAN ||
cent->gent->client->NPC_class == CLASS_SABER_DROID || cent->gent->client->NPC_class == CLASS_PROTOCOL ||
cent->gent->client->NPC_class == CLASS_HAZARD_TROOPER || cent->gent->client->NPC_class == CLASS_GALAKMECH ||
cent->gent->client->NPC_class == CLASS_BARTENDER || cent->gent->client->NPC_class == CLASS_GONK ||
cent->gent->client->NPC_class == CLASS_R2D2 || cent->gent->client->NPC_class == CLASS_R5D2 ||
cent->gent->client->NPC_class == CLASS_MARK1 || cent->gent->client->NPC_class == CLASS_MARK2 ||
cent->gent->client->NPC_class == CLASS_HOWLER )
{
theFxScheduler.PlayEffect( cgs.effects.forceNecrodrainwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MORGANKATARN || cent->gent->client->NPC_class == CLASS_MINEMONSTER ||
cent->gent->client->NPC_class == CLASS_BOBAFETT || cent->gent->client->NPC_class == CLASS_WAMPA )
{
theFxScheduler.PlayEffect( cgs.effects.forceHelldrainwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
else if ( cent->gent->client->NPC_class == CLASS_TAVION || cent->gent->client->NPC_class == CLASS_DESANN )
{
theFxScheduler.PlayEffect( cgs.effects.forceHyldendrainwide, cent->gent->client->renderInfo.handLPoint, fxAxis );
}
}
else
{//line
AngleVectors( tAng, fxDir, NULL, NULL );
/*theFxScheduler.PlayEffect( cgs.effects.forceDrain, cent->gent->client->renderInfo.handLPoint, fxDir );*/
if ( cent->gent->client->NPC_class == CLASS_REELO || cent->gent->client->NPC_class == CLASS_JEDI ||
cent->gent->client->NPC_class == CLASS_RANCOR || cent->gent->client->NPC_class == CLASS_LUKE ||
cent->gent->client->NPC_class == CLASS_MOUSE || cent->gent->client->NPC_class == CLASS_JAWA ||
cent->gent->client->NPC_class == CLASS_ATST || cent->gent->client->NPC_class == CLASS_SAND_CREATURE ||
cent->gent->client->NPC_class == CLASS_ROCKETTROOPER || cent->gent->client->NPC_class == CLASS_ASSASSIN_DROID ||
cent->gent->client->NPC_class == CLASS_PROBE )
{
theFxScheduler.PlayEffect( cgs.effects.forceSouldrain, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_KYLE || cent->gent->client->NPC_class == CLASS_REBORN ||
cent->gent->client->NPC_class == CLASS_TUSKEN || cent->gent->client->NPC_class == CLASS_GLIDER ||
cent->gent->client->NPC_class == CLASS_NOGHRI || cent->gent->client->NPC_class == CLASS_FLIER2 ||
cent->gent->client->NPC_class == CLASS_WEEQUAY || cent->gent->client->NPC_class == CLASS_LIZARD ||
cent->gent->client->NPC_class == CLASS_SWAMPTROOPER || cent->gent->client->NPC_class == CLASS_FISH ||
cent->gent->client->NPC_class == CLASS_NOGHRI || cent->gent->client->NPC_class == CLASS_FLIER2 ||
cent->gent->client->NPC_class == CLASS_GRAN || cent->gent->client->NPC_class == CLASS_CLAW ||
cent->gent->client->NPC_class == CLASS_MONMOTHA || cent->gent->client->NPC_class == CLASS_ALORA ||
cent->gent->client->NPC_class == CLASS_SWAMP || cent->gent->client->NPC_class == CLASS_INTERROGATOR )
{
theFxScheduler.PlayEffect( cgs.effects.forceDrain, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_MURJJ || cent->gent->client->NPC_class == CLASS_COMMANDO ||
cent->gent->client->NPC_class == CLASS_PRISONER || cent->gent->client->NPC_class == CLASS_REBEL ||
cent->gent->client->NPC_class == CLASS_BESPIN_COP || cent->gent->client->NPC_class == CLASS_SABOTEUR ||
cent->gent->client->NPC_class == CLASS_SHADOWTROOPER || cent->gent->client->NPC_class == CLASS_STORMTROOPER ||
cent->gent->client->NPC_class == CLASS_SWAMPTROOPER || cent->gent->client->NPC_class == CLASS_FISH ||
cent->gent->client->NPC_class == CLASS_TRANDOSHAN || cent->gent->client->NPC_class == CLASS_SWAMP ||
cent->gent->client->NPC_class == CLASS_IMPERIAL || cent->gent->client->NPC_class == CLASS_IMPWORKER ||
cent->gent->client->NPC_class == CLASS_JAN || cent->gent->client->NPC_class == CLASS_LANDO ||
cent->gent->client->NPC_class == CLASS_GALAK || cent->gent->client->NPC_class == CLASS_RODIAN ||
cent->gent->client->NPC_class == CLASS_SABER_DROID || cent->gent->client->NPC_class == CLASS_PROTOCOL ||
cent->gent->client->NPC_class == CLASS_HAZARD_TROOPER || cent->gent->client->NPC_class == CLASS_GALAKMECH ||
cent->gent->client->NPC_class == CLASS_BARTENDER || cent->gent->client->NPC_class == CLASS_GONK ||
cent->gent->client->NPC_class == CLASS_R2D2 || cent->gent->client->NPC_class == CLASS_R5D2 ||
cent->gent->client->NPC_class == CLASS_MARK1 || cent->gent->client->NPC_class == CLASS_MARK2 ||
cent->gent->client->NPC_class == CLASS_HOWLER )
{
theFxScheduler.PlayEffect( cgs.effects.forceNecrodrain, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_MORGANKATARN || cent->gent->client->NPC_class == CLASS_MINEMONSTER ||
cent->gent->client->NPC_class == CLASS_BOBAFETT || cent->gent->client->NPC_class == CLASS_WAMPA )
{
theFxScheduler.PlayEffect( cgs.effects.forceHelldrain, cent->gent->client->renderInfo.handLPoint, fxDir );
}
else if ( cent->gent->client->NPC_class == CLASS_TAVION || cent->gent->client->NPC_class == CLASS_DESANN )
{
theFxScheduler.PlayEffect( cgs.effects.forceHyldendrain, cent->gent->client->renderInfo.handLPoint, fxDir );
}
}
}
//spotlight?

)>

 

On Cg_weapons:

 

if ( cent->gent && cent->gent->client && cent->gent->client->ps.forcePowersActive&(1< {//doing the draining
vec3_t temp;//tAng, fxDir,
//VectorSet( tAng, cent->pe.torso.pitchAngle, cent->pe.torso.yawAngle, 0 );

VectorCopy( cent->gent->client->renderInfo.handLPoint, temp );
VectorMA( temp, -5, cg.refdef.viewaxis[0], temp );
if ( cent->gent->client->ps.forcePowerLevel[FP_DRAIN] > FORCE_LEVEL_2 )
{//arc
//vec3_t fxAxis[3];
//AnglesToAxis( tAng, fxAxis );
/*theFxScheduler.PlayEffect( cgs.effects.forceDrainWide, temp, cg.refdef.viewaxis );*/
if ( cent->gent->client->NPC_class == CLASS_REELO || cent->gent->client->NPC_class == CLASS_JEDI ||
cent->gent->client->NPC_class == CLASS_RANCOR || cent->gent->client->NPC_class == CLASS_LUKE ||
cent->gent->client->NPC_class == CLASS_MOUSE || cent->gent->client->NPC_class == CLASS_JAWA ||
cent->gent->client->NPC_class == CLASS_ATST || cent->gent->client->NPC_class == CLASS_SAND_CREATURE ||
cent->gent->client->NPC_class == CLASS_ROCKETTROOPER || cent->gent->client->NPC_class == CLASS_ASSASSIN_DROID ||
cent->gent->client->NPC_class == CLASS_PROBE )
{
theFxScheduler.PlayEffect( cgs.effects.forceSouldrainwide, temp, cg.refdef.viewaxis );
}
else if ( cent->gent->client->NPC_class == CLASS_KYLE || cent->gent->client->NPC_class == CLASS_REBORN ||
cent->gent->client->NPC_class == CLASS_TUSKEN || cent->gent->client->NPC_class == CLASS_GLIDER ||
cent->gent->client->NPC_class == CLASS_NOGHRI || cent->gent->client->NPC_class == CLASS_FLIER2 ||
cent->gent->client->NPC_class == CLASS_WEEQUAY || cent->gent->client->NPC_class == CLASS_LIZARD ||
cent->gent->client->NPC_class == CLASS_SWAMPTROOPER || cent->gent->client->NPC_class == CLASS_FISH ||
cent->gent->client->NPC_class == CLASS_NOGHRI || cent->gent->client->NPC_class == CLASS_FLIER2 ||
cent->gent->client->NPC_class == CLASS_GRAN || cent->gent->client->NPC_class == CLASS_CLAW ||
cent->gent->client->NPC_class == CLASS_MONMOTHA || cent->gent->client->NPC_class == CLASS_ALORA ||
cent->gent->client->NPC_class == CLASS_SWAMP || cent->gent->client->NPC_class == CLASS_INTERROGATOR )
{
theFxScheduler.PlayEffect( cgs.effects.forceDrainWide, temp, cg.refdef.viewaxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MURJJ || cent->gent->client->NPC_class == CLASS_COMMANDO ||
cent->gent->client->NPC_class == CLASS_PRISONER || cent->gent->client->NPC_class == CLASS_REBEL ||
cent->gent->client->NPC_class == CLASS_BESPIN_COP || cent->gent->client->NPC_class == CLASS_SABOTEUR ||
cent->gent->client->NPC_class == CLASS_SHADOWTROOPER || cent->gent->client->NPC_class == CLASS_STORMTROOPER ||
cent->gent->client->NPC_class == CLASS_SWAMPTROOPER || cent->gent->client->NPC_class == CLASS_FISH ||
cent->gent->client->NPC_class == CLASS_TRANDOSHAN || cent->gent->client->NPC_class == CLASS_SWAMP ||
cent->gent->client->NPC_class == CLASS_IMPERIAL || cent->gent->client->NPC_class == CLASS_IMPWORKER ||
cent->gent->client->NPC_class == CLASS_JAN || cent->gent->client->NPC_class == CLASS_LANDO ||
cent->gent->client->NPC_class == CLASS_GALAK || cent->gent->client->NPC_class == CLASS_RODIAN ||
cent->gent->client->NPC_class == CLASS_SABER_DROID || cent->gent->client->NPC_class == CLASS_PROTOCOL ||
cent->gent->client->NPC_class == CLASS_HAZARD_TROOPER || cent->gent->client->NPC_class == CLASS_GALAKMECH ||
cent->gent->client->NPC_class == CLASS_BARTENDER || cent->gent->client->NPC_class == CLASS_GONK ||
cent->gent->client->NPC_class == CLASS_R2D2 || cent->gent->client->NPC_class == CLASS_R5D2 ||
cent->gent->client->NPC_class == CLASS_MARK1 || cent->gent->client->NPC_class == CLASS_MARK2 ||
cent->gent->client->NPC_class == CLASS_HOWLER )
{
theFxScheduler.PlayEffect( cgs.effects.forceNecrodrainwide, temp, cg.refdef.viewaxis );
}
else if ( cent->gent->client->NPC_class == CLASS_MORGANKATARN || cent->gent->client->NPC_class == CLASS_MINEMONSTER ||
cent->gent->client->NPC_class == CLASS_BOBAFETT || cent->gent->client->NPC_class == CLASS_WAMPA )
{
theFxScheduler.PlayEffect( cgs.effects.forceHelldrainwide, temp, cg.refdef.viewaxis );
}
else if ( cent->gent->client->NPC_class == CLASS_TAVION || cent->gent->client->NPC_class == CLASS_DESANN )
{
theFxScheduler.PlayEffect( cgs.effects.forceHyldendrainwide, temp, cg.refdef.viewaxis );
}
}
else
{//line
//AngleVectors( tAng, fxDir, NULL, NULL );
/*theFxScheduler.PlayEffect( cgs.effects.forceDrain, temp, cg.refdef.viewaxis[0] );*/
if ( cent->gent->client->NPC_class == CLASS_REELO || cent->gent->client->NPC_class == CLASS_JEDI ||
cent->gent->client->NPC_class == CLASS_RANCOR || cent->gent->client->NPC_class == CLASS_LUKE ||
cent->gent->client->NPC_class == CLASS_MOUSE || cent->gent->client->NPC_class == CLASS_JAWA ||
cent->gent->client->NPC_class == CLASS_ATST || cent->gent->client->NPC_class == CLASS_SAND_CREATURE ||
cent->gent->client->NPC_class == CLASS_ROCKETTROOPER || cent->gent->client->NPC_class == CLASS_ASSASSIN_DROID ||
cent->gent->client->NPC_class == CLASS_PROBE )
{
theFxScheduler.PlayEffect( cgs.effects.forceSouldrain, temp, cg.refdef.viewaxis[0] );
}
else if ( cent->gent->client->NPC_class == CLASS_KYLE || cent->gent->client->NPC_class == CLASS_REBORN ||
cent->gent->client->NPC_class == CLASS_TUSKEN || cent->gent->client->NPC_class == CLASS_GLIDER ||
cent->gent->client->NPC_class == CLASS_NOGHRI || cent->gent->client->NPC_class == CLASS_FLIER2 ||
cent->gent->client->NPC_class == CLASS_WEEQUAY || cent->gent->client->NPC_class == CLASS_LIZARD ||
cent->gent->client->NPC_class == CLASS_SWAMPTROOPER || cent->gent->client->NPC_class == CLASS_FISH ||
cent->gent->client->NPC_class == CLASS_NOGHRI || cent->gent->client->NPC_class == CLASS_FLIER2 ||
cent->gent->client->NPC_class == CLASS_GRAN || cent->gent->client->NPC_class == CLASS_CLAW ||
cent->gent->client->NPC_class == CLASS_MONMOTHA || cent->gent->client->NPC_class == CLASS_ALORA ||
cent->gent->client->NPC_class == CLASS_SWAMP || cent->gent->client->NPC_class == CLASS_INTERROGATOR )
{
theFxScheduler.PlayEffect( cgs.effects.forceDrain, temp, cg.refdef.viewaxis[0] );
}
else if ( cent->gent->client->NPC_class == CLASS_MURJJ || cent->gent->client->NPC_class == CLASS_COMMANDO ||
cent->gent->client->NPC_class == CLASS_PRISONER || cent->gent->client->NPC_class == CLASS_REBEL ||
cent->gent->client->NPC_class == CLASS_BESPIN_COP || cent->gent->client->NPC_class == CLASS_SABOTEUR ||
cent->gent->client->NPC_class == CLASS_SHADOWTROOPER || cent->gent->client->NPC_class == CLASS_STORMTROOPER ||
cent->gent->client->NPC_class == CLASS_SWAMPTROOPER || cent->gent->client->NPC_class == CLASS_FISH ||
cent->gent->client->NPC_class == CLASS_TRANDOSHAN || cent->gent->client->NPC_class == CLASS_SWAMP ||
cent->gent->client->NPC_class == CLASS_IMPERIAL || cent->gent->client->NPC_class == CLASS_IMPWORKER ||
cent->gent->client->NPC_class == CLASS_JAN || cent->gent->client->NPC_class == CLASS_LANDO ||
cent->gent->client->NPC_class == CLASS_GALAK || cent->gent->client->NPC_class == CLASS_RODIAN ||
cent->gent->client->NPC_class == CLASS_SABER_DROID || cent->gent->client->NPC_class == CLASS_PROTOCOL ||
cent->gent->client->NPC_class == CLASS_HAZARD_TROOPER || cent->gent->client->NPC_class == CLASS_GALAKMECH ||
cent->gent->client->NPC_class == CLASS_BARTENDER || cent->gent->client->NPC_class == CLASS_GONK ||
cent->gent->client->NPC_class == CLASS_R2D2 || cent->gent->client->NPC_class == CLASS_R5D2 ||
cent->gent->client->NPC_class == CLASS_MARK1 || cent->gent->client->NPC_class == CLASS_MARK2 ||
cent->gent->client->NPC_class == CLASS_HOWLER )
{
theFxScheduler.PlayEffect( cgs.effects.forceNecrodrain, temp, cg.refdef.viewaxis[0] );
}
else if ( cent->gent->client->NPC_class == CLASS_MORGANKATARN || cent->gent->client->NPC_class == CLASS_MINEMONSTER ||
cent->gent->client->NPC_class == CLASS_BOBAFETT || cent->gent->client->NPC_class == CLASS_WAMPA )
{
theFxScheduler.PlayEffect( cgs.effects.forceHelldrain, temp, cg.refdef.viewaxis[0] );
}
else if ( cent->gent->client->NPC_class == CLASS_TAVION || cent->gent->client->NPC_class == CLASS_DESANN )
{
theFxScheduler.PlayEffect( cgs.effects.forceHyldendrain, temp, cg.refdef.viewaxis[0] );
}
}
}

)>

 

On the register effects:

 

//new Jedi Academy force power effects
cgs.effects.forceDrain = theFxScheduler.RegisterEffect( "mp/drain" );
cgs.effects.forceDrainWide = theFxScheduler.RegisterEffect( "mp/drainwide" );
cgs.effects.forceSouldrain = theFxScheduler.RegisterEffect( "mp/drain2" );
cgs.effects.forceSouldrainwide = theFxScheduler.RegisterEffect( "mp/drainwide2" );
cgs.effects.forceSouldrained = theFxScheduler.RegisterEffect( "mp/drainhit2" );
cgs.effects.forceNecrodrain = theFxScheduler.RegisterEffect( "mp/drain3" );
cgs.effects.forceNecrodrainwide = theFxScheduler.RegisterEffect( "mp/drainwide3" );
cgs.effects.forceNecrodrained = theFxScheduler.RegisterEffect( "mp/drainhit3" );
cgs.effects.forceHelldrain = theFxScheduler.RegisterEffect( "mp/drain4" );
cgs.effects.forceHelldrainwide = theFxScheduler.RegisterEffect( "mp/drainwide4" );
cgs.effects.forceHelldrained = theFxScheduler.RegisterEffect( "mp/drainhit4" );
cgs.effects.forceHyldendrain = theFxScheduler.RegisterEffect( "mp/drain5" );
cgs.effects.forceHyldendrainwide = theFxScheduler.RegisterEffect( "mp/drainwide5" );
cgs.effects.forceHyldendrained = theFxScheduler.RegisterEffect( "mp/drainhit5" );


//cgs.effects.forceDrained = theFxScheduler.RegisterEffect( "mp/drainhit");

 

I make the effect of the soul drain, build etc etc, but in game, all classes make the default fp_drain effect O.O

Link to comment

Sometime i lost myself in a glass water. drain work and code it's okay, simply, i have bad configurated the NPC Jedi with the class "alora" for that, code not work. LOL.

My staff on lightning and drain is over but i need to change the effect of the drainhit.efx i see there is not into the SP code, but in the MP code on the Fx_force.c code.

 

// Any dedicated force oriented effects

#include "cg_local.h"

/*
-------------------------
FX_ForceDrained
-------------------------
*/
// This effect is not generic because of possible enhancements
void FX_ForceDrained(vec3_t origin, vec3_t dir)
{
VectorScale(dir, -1.0, dir);
trap->FX_PlayEffectID(cgs.effects.forceDrained, origin, dir, -1, -1, qfalse);
}

 

i got the suspect that FP_DRAIN effects are shared By MP and SP game too, infact the drain efx are in the folder of force efx called "mp" on SP code not exist the forcedrained drainhit registered effect, the line is in /*  */ so i think the SP code take the drainhit effect by the MP code, now i wanna to see if i am right. :)

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...