Jump to content

Jedi Knight Pro Mode


Recommended Posts

So... I'm gonna present you now the mod I was working on for the last months.

 

I must say that I didn't have a straight concept in the last time. In the beginning the idea was to make the whole game faster and bring some more

features to full weapon CTF and TDM.

But in the last time I didn't really feel like working on a release... don't know... maybe someday.

 

Anyway, here are some of the main-features (there are a lot of other minor changes, the whole changelog has like 100 entries tongue.png):

 

- Instagib mode

- Last man Standing mode

- New weapon- and gamebalance (damage, weapon knockback, some new weapon-functions, new starting weapons etc)

- Wallrun and roll with weapons

- Increased Aircontrol

- Instant weapon-switch

- A lot of new commands for stuff like no selfkill, no selfdamage, flag returntime, allow spectators to follow players etc

- Speedmeter

- Show team-mates health on crosshair

- Drop weapons with /drop

- Drop the flag in CTF with /dropflag

- Shuffle teams via /shuffle or vote

- Ready yourself with /ready to let the round begin

- Pause and freeze the match with g_pause

- Set team-tags before the name and replace "Blue" and "Red" via server-cmd

 

Some Pics:

 

jhbh7pja.jpg

 

p7cx6lz8.jpg

 

A lot of credit goes to the guys of jacoders.org and especially eezstreet. I'm a horrible coder (well I think I'm getting better at least tongue.png) and without their help I wouldn't even know how to compile teh dem sourcecode D:

Link to comment

Nice, can I ask how you did the instant weapon switch and weapons while wallrunning?

 

Thanks, actually both was pretty easy.

I hope I remember everything correctly...

 

void PM_BeginWeaponchange in bg_pmove.c .

 


PM_AddEventWithParm( EV_CHANGE_WEAPON, weapon );
   pm->ps->weaponstate = WEAPON_DROPPING;
   pm->ps->weaponTime = 0;  //afi
   //PM_StartTorsoAnim( TORSO_DROPWEAP1 );
   //PM_SetAnim(SETANIM_TORSO, TORSO_DROPWEAP1, SETANIM_FLAG_OVERRIDE, 0);

 

And void PM_FinishWeaponchange

 

pm->ps->weapon = weapon;
   pm->ps->weaponstate = WEAPON_READY;
   pm->ps->weaponTime = 0;

 

You may also want so change some stuff around line 7237... like custom switch time for different weapons...

 

if (pm->ps->weapon == WP_DISRUPTOR)
   {
   if ( pm->ps->weaponTime <= 0 || pm->ps->weaponstate != WEAPON_FIRING )
   {
       if ( pm->ps->weapon != pm->cmd.weapon )
       {
           PM_BeginWeaponchange( pm->cmd.weapon );
       }
   }
   }
   else
   {
       if ( pm->ps->weapon != pm->cmd.weapon ) {
           PM_BeginWeaponchange( pm->cmd.weapon );
       }
   }

 

For the wallruns you just have to go to this if

 

else if ( pm->cmd.upmove > 0 && pm->waterlevel < 2 &&
       pm->ps->fd.forcePowerLevel[FP_LEVITATION] > FORCE_LEVEL_0 &&
       !(pm->ps->pm_flags&PMF_JUMP_HELD) &&
       (pm->ps->weapon == WP_SABER || pm->ps->weapon == WP_MELEE) &&
       !PM_IsRocketTrooper() &&
       !BG_HasYsalamiri(pm->gametype, pm->ps) &&
       BG_CanUseFPNow(pm->gametype, pm->ps, pm->cmd.serverTime, FP_LEVITATION) )

 

And remove the (pm->ps->weapon == WP_SABER || pm->ps->weapon == WP_MELEE) && part :P

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...