Jump to content

Teancum

Members
  • Posts

    547
  • Joined

  • Last visited

Posts posted by Teancum

  1. In regards to JKE, what absolutely breaks it for me is having saber throw as a force power. For me it feels like taking the most effective way of using the saber and trying something different. JKE is something I'd like to contribute to in the future, as I think it has the most potential out of these kinds of mods. That being said elements/concepts from KotF would make a great addition to JKE. For example, it'd be nice to have a player model select screen that you can swap in the species screen for single player. Not to derail, but for JKE I'd love to commit my melee updates along with the mortar gun, fusion cutter and assault cannon (once completed, of course).

     

    I do think KotF has potential, and that it's not quite as taboo design-wise as people feel. I think so much of that is charged by not properly crediting everyone, even if he didn't bother to hunt down permission. He's got credits on his website, but I don't remember them always being there, and they certainly aren't in any readme file. I will say the menus are stupidly busy sometimes (particularly the character menu) and could do with a bit more minimalist design.

    Lancelot, Smoo, swegmaster and 1 other like this
  2. If you're actually serious about updating KotF, the firs thing you should do is go through every map, character, etc and find the original author. Seek out permission and try to let them know you want to credit everyone, and that you're not the original author. Seeing that everyone gets proper credit was one of the huge issues with KotF. Other than that I think it's a fairly solid mod. It would definitely take some work to be sure, but if people got the credit and if permission were given for their stuff I could see this being a mod that people don't hate.

     

    As far as actually updating it goes, the biggest issue would be sorting out the absolute mess of PK3 files. Adding OpenJK support and even coding it to read both /base and a /kotf folder wouldn't be difficult. Since OpenJK already addresses 99% of bugs and gameplay issues I think it's a must if you were to continue it.

    TheWhitePhoenix and Smoo like this
  3. So some progress has been made. I programmed the secondary fire, but the four barrels are offsetting relative to the hard vectors in the gameplay world, and not the player's direction. Here's the code for secondary fire:

    //---------------------------------------------------------
    static void WP_DEMP2_AltFire( gentity_t *ent )
    //---------------------------------------------------------
    {
    	vec3_t	start;
    	int		damage = weaponData[WP_DEMP2].damage;
    	gentity_t *missileA, *missileB, *missileC, *missileD;
    
    	vec3_t barrelA = { -60.0f, -20.0f, 0.0f };
    	vec3_t barrelB = { 35.0f, -20.0f, 0.0f };
    	vec3_t barrelC = { -35.0f, -20.0f, 0.0f };
    	vec3_t barrelD = { -60.0f, -20.0f, 0.0f };
    	vec3_t shotVec;
    
    
    	VectorCopy(muzzle, start);
    	WP_TraceSetStart(ent, start, vec3_origin, vec3_origin); //make sure our start point isn't on the other side of a wall
    
    
    
    	//Calculate damages
    	if (ent->s.number != 0)
    	{
    		if (g_spskill->integer == 0)
    		{
    			damage = DEMP2_NPC_DAMAGE_EASY;
    		}
    		else if (g_spskill->integer == 1)
    		{
    			damage = DEMP2_NPC_DAMAGE_NORMAL;
    		}
    		else
    		{
    			damage = DEMP2_NPC_DAMAGE_HARD;
    		}
    	}
    
    
    	//Barrel A
    	WP_MissileTargetHint(ent, start, forwardVec);
    	VectorMA(start, 1, barrelA, shotVec);
    	//VectorAdd(start, barrelA, shotVec);
    	missileA = CreateMissile(shotVec, forwardVec, DEMP2_VELOCITY, 10000, ent);
    	//Com_Printf(S_COLOR_YELLOW "wp_demp2.cpp - firing secondary mode, barrel A", "barrel A");
    	missileA->classname = "demp2_proj";
    	missileA->s.weapon = WP_DEMP2;
    	VectorSet(missileA->maxs, DEMP2_SIZE, DEMP2_SIZE, DEMP2_SIZE);
    	VectorScale(missileA->maxs, -1, missileA->mins);
    	missileA->damage = damage;
    	missileA->dflags = DAMAGE_DEATH_KNOCKBACK;
    	missileA->methodOfDeath = MOD_DEMP2;
    	missileA->clipmask = MASK_SHOT | CONTENTS_LIGHTSABER;
    	missileA->bounceCount = 0; // we don't want it to ever bounce
    
    
    	//Barrel B
    	WP_MissileTargetHint(ent, start, forwardVec);
    	VectorMA(start, 1, barrelB, shotVec);
    	//VectorAdd(start, barrelB, shotVec);
    	missileB = CreateMissile(shotVec, forwardVec, DEMP2_VELOCITY, 10000, ent);
    	//Com_Printf("wp_demp2.cpp - firing secondary mode, barrel B", "barrel B");
    	missileB->classname = "demp2_proj";
    	missileB->s.weapon = WP_DEMP2;
    	VectorSet(missileB->maxs, DEMP2_SIZE, DEMP2_SIZE, DEMP2_SIZE);
    	VectorScale(missileB->maxs, -1, missileB->mins);
    	missileB->damage = damage;
    	missileB->dflags = DAMAGE_DEATH_KNOCKBACK;
    	missileB->methodOfDeath = MOD_DEMP2;
    	missileB->clipmask = MASK_SHOT | CONTENTS_LIGHTSABER;
    	missileB->bounceCount = 0; // we don't want it to ever bounce
    
    
    	//Barrel C
    	WP_MissileTargetHint(ent, start, forwardVec);
    	VectorMA(start, 1, barrelC, shotVec);
    	//VectorAdd(start, barrelC, shotVec);
    	missileC = CreateMissile(shotVec, forwardVec, DEMP2_VELOCITY, 10000, ent);
    	//Com_Printf("wp_demp2.cpp - firing secondary mode, barrel C", "barrel C");
    	missileC->classname = "demp2_proj";
    	missileC->s.weapon = WP_DEMP2;
    	VectorSet(missileC->maxs, DEMP2_SIZE, DEMP2_SIZE, DEMP2_SIZE);
    	VectorScale(missileC->maxs, -1, missileC->mins);
    	missileC->damage = damage;
    	missileC->dflags = DAMAGE_DEATH_KNOCKBACK;
    	missileC->methodOfDeath = MOD_DEMP2;
    	missileC->clipmask = MASK_SHOT | CONTENTS_LIGHTSABER;
    	missileC->bounceCount = 0; // we don't want it to ever bounce
    
    
    	//Barrel D
    	WP_MissileTargetHint(ent, start, forwardVec);
    	VectorMA(start, 1, barrelD, shotVec);
    	//VectorAdd(start, barrelD, shotVec);
    	missileD = CreateMissile(shotVec, forwardVec, DEMP2_VELOCITY, 10000, ent);
    	//Com_Printf("wp_demp2.cpp - firing secondary mode, barrel D", "barrel D");
    	missileD->classname = "demp2_proj";
    	missileD->s.weapon = WP_DEMP2;
    	VectorSet(missileD->maxs, DEMP2_SIZE, DEMP2_SIZE, DEMP2_SIZE);
    	VectorScale(missileD->maxs, -1, missileD->mins);
    	missileD->damage = damage;
    	missileD->dflags = DAMAGE_DEATH_KNOCKBACK;
    	missileD->methodOfDeath = MOD_DEMP2;
    	missileD->clipmask = MASK_SHOT | CONTENTS_LIGHTSABER;
    	missileD->bounceCount = 0; // we don't want it to ever bounce
    
    }
    

    And for primary fire I've tried the idea that @@ensiform had of tying it to the player/entity. I looked at how the rocket launcher hooked up the tracking values, and came up with this in g_weapon.cpp. Basically each time it's called it'll increment the barrel number and output it.

    
    // some naughty little things that are used cg side
    int g_rocketLockEntNum = ENTITYNUM_NONE;
    int g_rocketLockTime = 0;
    int	g_rocketSlackTime = 0;
    int currentFusionShot = 0; //to loop through fusion rifle barrels
    ......
    
    
    //-----------------------------------------------------------------------------
    void WP_fusionBarrel(int currentFusionShot)
    //-----------------------------------------------------------------------------
    {
    	//whenever this is called, it will increment the number (max of 3, then returns to 0)
    	//it will then pass that information to wp_fusion.cpp
    	currentFusionShot++;
    	if ( currentFusionShot >= 3 )
    	{
    		currentFusionShot = 0;
    	}
    }
    

    From there I run the function in wp_fusion.cpp to grab the current int. However it's still not outputting a number to the console, so I can't tell if its actually iterating, or even if it's pulling the value from g_weapon.cpp

    //---------------------------------------------------------
    static void WP_DEMP2_MainFire( gentity_t *ent )
    //---------------------------------------------------------
    {
    	vec3_t	start;
    	int		damage	= weaponData[WP_DEMP2].damage;
    	gentity_t *missile;
    
    	vec3_t barrel[] = {
    		{ 22.0f, 0.0f, 0.0f },
    		{ 11.0f, 0.0f, 0.0f },
    		{ -11.0f, 0.0f, 0.0f },
    		{ -22.0f, 0.0f, 0.0f }
    	};
    	vec3_t shotVec;
    
    
    	VectorCopy(muzzle, start);
    	WP_TraceSetStart(ent, start, vec3_origin, vec3_origin);//make sure our start point isn't on the other side of a wall
    
    	WP_MissileTargetHint(ent, start, forwardVec);
    	/*missile = CreateMissile(start, forwardVec, DEMP2_VELOCITY, 10000, ent);*/
    	WP_fusionBarrel(currentShot); //get the current barrel number from g_weapon.cpp and store it
    	Com_Printf(S_COLOR_YELLOW "wp_demp2.cpp - firing primary mode, barrel #", currentShot);
    	for (currentShot = 0; currentShot <= 3; currentShot++)
    	{
    		VectorCopy(muzzle, shotVec);
    		VectorAdd(shotVec, barrel[currentShot], shotVec);
    		missile = CreateMissile(shotVec, forwardVec, DEMP2_VELOCITY, 10000, ent);
    	}
    
    
    	missile->classname = "demp2_proj";
    	missile->s.weapon = WP_DEMP2;
    
    	// Do the damages
    	if ( ent->s.number != 0 )
    	{
    		if ( g_spskill->integer == 0 )
    		{
    			damage = DEMP2_NPC_DAMAGE_EASY;
    		}
    		else if ( g_spskill->integer == 1 )
    		{
    			damage = DEMP2_NPC_DAMAGE_NORMAL;
    		}
    		else
    		{
    			damage = DEMP2_NPC_DAMAGE_HARD;
    		}
    	}
    
    	VectorSet( missile->maxs, DEMP2_SIZE, DEMP2_SIZE, DEMP2_SIZE );
    	VectorScale( missile->maxs, -1, missile->mins );
    
    	missile->damage = damage;
    	missile->dflags = DAMAGE_DEATH_KNOCKBACK;
    	missile->methodOfDeath = MOD_DEMP2;
    	missile->clipmask = MASK_SHOT | CONTENTS_LIGHTSABER;
    
    	// we don't want it to ever bounce
    	missile->bounceCount = 0;
    }
    

    I have to say, being able to spit out debug info to the console is super nice. Glad I found that function.

  4. In the Mysteries of the Sith mod source files there are a few protocol droid skin variants. You might be able to cobble something close to TC-14 from those. There's a grey one, but it's a darker color.

  5. You won't know, unless you try. Right?

    Yeah, but I'm not really concerned about it at. Crix Madine can be improved with a Luke reskin, and Jan to me will look fine in her JO outfit. I agree that his look better, but I have to make sure I'm not spreading myself too thin trying to get all this stuff. I mean for now I'm just going to use place holder models where I don't have better ones. That's why I was hoping other people would contribute, even if it's just emailing someone else. I'm swamped.

  6. just wondering, will there be any new voice acting for them, with a special opening cutscene centered on them?

    Dunno just yet. I'd like to do a cutscene for the final version where one of the head smugglers says something to Zuckuss/4-LOM like "Hey, we've got company, take care of him!" and then Kyle runs in the room. That's a long way off though.

  7. I think it is.Its like your meant to be fighting those two on the map in this continuation of the mod. Are we still going to fight Fett on Coruscant as a boss.

    Yes. All of the original boss fights will stay, I just want to expand on things. As far as the expanded story goes Zuckuss and 4-LOM will just be working security detail for the smugglers.

  8. looks amazing, although could you possibly improve the lighting to be like the other levels, maybe in the style of the original mod level designer "salv", and improve the quality of some of the textures possibly

    Three words: work in progress

     

    ***EDIT***

     

    Also this is literally the first time I've ever used GTKRadiant, so I'm not gonna be as good as Salv.

  9. then again, the concussion rifle is immense op, we already have the trandos, also armed with concussion rifles, but when you have one dude with an op weapon standing around most of the time and the other moving constantly shooting whatever weapon he'll have, i think this might be a very, very tough fight (:I, also, which room will the fight take place in?

    It's very near the end that the fight takes place. Right now it's the room before the final room, which I specifically built for the boss fight. Here are some screens of the new areas I've added in order to complete the level:

     

    Part of the starting outdoor area -- most of it, actually. Two stormtroopers are guarding the elevator to go down.

    rdj3pz6.jpg

     

    AshuraDX's awesome Devaronian Mercenary with a Disruptor in a new room. (need to ask AshuraDX's permission)

    mfUqCJn.jpg

     

    Same room, different part, facing off against a Gamorrean. In the distance you can see the big elevator and huge door at the top.

    DA4jxwa.jpg

     

    At the top is a micro command center for shipping and receiving. It's basically to make the hall less boring.

    ll5zIGj.jpg

     

    Looking the other direction we see an airlock to a ship that's docked. Hmmm, that structure looks familiar...

    vDNxSn6.jpg

     

    What? Imperials are running an old Blockade Runner? They really must be trying to keep a low profile. (thanks to Several Sided Sid for his permission to use the Blockade Runner map)

    FjCrfY8.jpg

     

    You'll be stealing this gentleman's key.

    JmmCveZ.jpg

     

    It's back out to the command hallway to open the locked door.

    Su6xm71.jpg

     

    Reminds me of the beginning of Indiana Jones and the Crystal Skull

    BVSxA9S.jpg

     

    A view from the other end of the room

    XCS7tQZ.jpg

     

    A noclip view of the boss room. Zuckuss is on the left, 4-LOM on the right.

    7fKd8E0.jpg

     

    4-LOM

    j8CblOW.jpg

     

    Zuckuss, bathed in blue light from his repeater.

    l6gBgLm.jpg

  10. So you're bringing back  Zuckuss? We do have a great model for him here.

    Personally, I'd choose 4-Lom. He gets hardly any recognition. It would have been awesome to fight him in a game and I know we have an old model of him somewhere. It came in a pack with a bunch of protocol droids back around 2002-2003.

    DING! It's both, actually. Zuckuss will move around and attack while 4-LOM stays somewhat stationary and fires his concussion rifle. Screens to come soon.
×
×
  • Create New...