BFG Vortex

This mod turns the BFG Projectile into a traveling vortex. The Code checks to see if the projectile can see the monster and if the monster...

Download

Uploading...
Do not refresh or leave this page!

File Description

This mod turns the BFG Projectile into a traveling vortex. The Code checks to see if the projectile can see the monster and if the monster is close enough it will ragdoll the monster and suck it in and then continuing travel till it explodes.

One warning - this program eats mad framerates while the bfg projectile is in tow so be warned .. its a cool effect but we pay the price. My average framerates are normally in the 60's and this baby drags it down to the single digits at times. But dont be discouraged. This is only beta and I hope to allieviate the framerate problem in a future release.

Read More

Download 'bfgvortex_beta.zip' (18KB)

Readme
BFG Vortex by soulfoot

This mod turns the BFG Projectile into a traveling vortex.  The Code checks to see if the projectile can see the monster and if the monster is close enough it will ragdoll the monster and suck it in and then continuing travel till it explodes.  One warning - this program eats mad framrates while the bfg projectile is in tow so be warned.. its a cool effect but we pay the price.  My average framerates are normally in the 60's and this baby drags it down to the single digits at times.  But dont be discouraged.  This is only beta and I hope to allieviate the framerate problem in a future release.

This mod owes alot of its creation and inspiration to Mwoody for code from Plasmaradar and clusternade http://mwoody.com and Mike T creator of BattleReady and flood anxiety and several other members of the Doomworld Forums

HOw to Install:

If this is the only mod you plan on using (bless you, you naive soul, go get some mods and then email me so I can spank you for not playing with any other mods before) then all you need to do is create a folder in your doom3 directory and then modify your shortcut so it reads 
		(quote)F:\Doom 3\Doom3.exe(quote) +set fs_game nameofyoursnivelingfolder
		

if you plan on using this mod with other mods then open up the .pk4 file with your favorite unziping program, i use winrar so bow down before my stupidity, and then copy the contents into the pk4 mod you are using, but be warned that this will overwrite 3 files that your mod may be using.. In order to combat this simply open up each of my files and search for soulfoot and then make the changes i've indicated in each file to your own files.  If this is too much for you to understand then simply go to mycomputer format all your hard drives unplug your computer put it back in its little box and ship it to Soulfootatcoxdotnet... seriously dont do that. I'm horrible at giving detailed instructions so if you need anyhelp just email me and i'll be happy to help


Here is the bulk of the code: (best seen in full screen)
//soulfoot bfg vortex begin : 
//	This is beta public release
//	A big thanks to Mwoody for codes from his awesome Clusternades and PlasmaRadar mods visit http://mwoody.com for details on these breakthrough mods
//	Also a big thanks to Mike T and all the guys at the http://www.doom3world.org forums for their help, support, and suggestions.
//	And credit goes to Flood Anxiety for holding my hand as I made this - my first mod, He could've done it himself in 30 min with his eyes closed.
//		Instead he chose to lead me and put up with my stupidity. He helped me implement and understand every line of code here
//	If you would like to see the process this mod went through in order to get completed please visit:
//      http://www.doom3world.org/phpbb2/viewtopic.php?t=5580&postdays=0&postorder=asc&start=0

		projectile = createProjectile(); //creates projectile
		if ( projectile ) {  //this function launches projectile
			projectile.show();
			projectile.unbind();
			launchProjectiles( BFG_NUMPROJECTILES, spread, time_held, 1.0, power );
		}
			         //the following code was from clusternade

		vector lastPos;  //tracks last position of projectile
		while(projectile.getProjectileState() != PROJECTILE_EXPLODED)// && projectile.getProjectileState() != 0)
		
		{ 		// keeps tracking till projectile has exploded
			lastPos = projectile.getWorldOrigin(); // last position of projectile
			float loop;
			float lpLim = $player1.getFloatKey("monsterNum"); //this is supposed to be number of monsters registered with player		  	
			for(loop = 1; loop <= lpLim; loop++) { //this is the source of the error that causes projectile to affect all enemies
				entity monsterPointer = sys.getEntity($player1.getKey("monsterList" + loop));	//gets a monster		
				vector monsterpLoc = monsterPointer.getWorldOrigin(); // Location of this creature 
				vector dir = lastPos - monsterpLoc; //difference between projectile and monster locations
				float distance = sys.vecLength(dir);   //how far away the monster is
				float frac = (500 - distance) / 500;   // find out the fraction of how close it is to the projectile.1 being right on 							   	    		       //  top of the projectile, and 0 being exactly 1000 units away
				dir = sys.vecNormalize(dir);           //normalize this vector, ie, make it's length 1, doesnt make sense
				//monsterPointer.setLinearVelocity(dir * 1000 * frac); //set the velocity of the monster
				//monsterPointer.becomeRagdoll(); // makes the monster a ragdoll - perminantly
				vector mins = '-1 -1 -1'; 
				vector maxs = '1 1 1';
				float result = sys.trace(lastPos, monsterpLoc, mins, maxs, MASK_SOLID|CONTENTS_RENDERMODEL, projectile);
				if (result == 1 || monsterPointer == sys.getTraceEntity()){
					monsterPointer.setLinearVelocity(dir * 1000 * frac); //set the velocity of the monster
					monsterPointer.becomeRagdoll(); // makes the monster a ragdoll - perminantly
				}
			}
			//	monsterPointer2.stopRagdoll();
			
		sys.waitFrame();
		}
//Postnotes:
//	There are still some bugs in this code, some that can be fixed easily and some that may be too extensive to worry about
//		When a projectile type monster is sucked in (even a gun zombie) it still attacks.  This would be ok but the gun
//		  zombies drop their weapons when they are sucked in and the weapons fire of their own accord untill the zombies die.
//		There is no code providing for the reanimation of monsters that have "ragdolled" so if the bfg blast does not kill them
//		  they lie on the ground shaking (the bfg sucked their bones in.. yeah thats the excuse.. its on purpose.. its not a bug - jk).
//		The projectile can tell no difference between a zombie or a cyberdemon (this is only tested with spider mama) so it would appear
//		  that this would suck in and leave ragdoll any and every monster includding bosses.
//		A special request from coder Mike T (If you've seen smoking flesh wounds or custom bullet wounds, then its probably his coding)
//		  he and I both want to see the enemies ejected full bodied from the blast so hard that they bounce realistically (if you've seen 
//		  bodies affected by Archville resurections you have an idea
//	Please email me at Soulfootatcoxdotnet if you have any questions, suggestions, or cool implementations.  I really want to know where this code
//	  is being implemented and how its being used so please email me for permission just so I can see what cool stuff you did with my idea.
//soulfoot - end of line

Read More

Comments on this File

There are no comments yet. Be the first!

soulfoot


50 XP


Registered 10th September 2004

1 Files Uploaded

Share This File
Embed File