Alright kiddies, time for another (short) tutorial on some more Cortex Modding. Today we'll get into rounds and magazines. Until next tutorial, you won't be able to change [i]too[/i] much in them, but it's important you master each step at a time.

So open up that .ini you made last time with the simple weapon edit. Above it, add these lines.
[CODE]AddAmmo = Round
	PresetName = Round Mod SMG
	ParticleCount = 1
	Particle = MOPixel
		PresetName = Particle Mod SMG
		Mass = 0.008
		RestThreshold = 500
		LifeTime = 1500
		Sharpness = 250
		HitsMOs = 1
		GetsHitByMOs = 0
		Color = Color
			R = 143
			G = 143
			B = 143
		Atom = Atom
			Material = Material
				CopyOf = Bullet Metal
			TrailColor = Color
				R = 155
				G = 155
				B = 155
			TrailLength = 25
	Shell = MOSParticle
		CopyOf = Casing
	FireVelocity = 80
	ShellVelocity = 10
	Separation = 5

AddAmmo = Round
	CopyOf = Round Mod SMG
	PresetName = Round Mod SMG Tracer
	ParticleCount = 1
	Particle = MOPixel
		CopyOf = Particle Mod SMG
		PresetName = Particle Mod SMG Tracer
		RestThreshold = 500
		LifeTime = 1500
		HitsMOs = 1
		GetsHitByMOs = 0
		Color = Color
			R = 247
			G = 247
			B = 147
		Atom = Atom
			Material = Material
				CopyOf = Bullet Metal
			TrailColor = Color
				R = 255
				G = 255
				B = 159
			TrailLength = 45
[/CODE]

Now, most of the lines are self explanatory (most of them are in the weapon definition as well), only a few are different. The MOPixel definition you can take for what it is worth, here is a totally stripped down Round definition, devoid of extra stuff that you don't need (You could have defined the MOPixel beforehand and just used it's presetname to refer to it)

[CODE]AddAmmo = Round
	PresetName = Round Mod SMG 2
	ParticleCount = 10
	Particle = MOPixel
		CopyOf = Particle Mod SMG
	Shell = AEmitter
		CopyOf = Casing
	FireVelocity = 80
	ShellVelocity = 10
	Separation = 5[/CODE]

Always set your presetnames to something unique, otherwise you will overwrite your previous definition (this includes basegame names). For example, if I had named that round just above "Round SMG" as well, the usual SMG round would be overwritten, and you would shoot out 10 MOPixels (ParticleCount) instead of one per each firing.

Thanks to the Separation being 5, this round would look like a shotgun instead of an SMG. Unless you want to make shotguns or shotgun-like effects (particles fired together that spread apart), you should always set your separation to 0.

The FireVelocity variable defines, well, the fire velocity. The speed at which the particles are shot out of your gun. Particle is the particle fired, and shell is the particle emitted out of the EjectionOffset at the same time. Shell can be set to be nothing (Shell = None//Or Null), getting rid of any sort of shell.

Now, on to magazines. Once we have defined our new magazine (and changed the name of the magazine in the modded SMG), you can save and start your game to try it out.
Here is a basic Magazine definition. Pay attention to the uniquely Magazine variables. You will find that all MOs (besides MOPixels and MOSParticles) have the same basic definitions with a few unique but all-important variables.

[CODE]AddAmmo = Magazine
	PresetName = Magazine Mod SMG
	Mass = 2
	HitsMOs = 0
	GetsHitByMOs = 0
	SpriteFile = ContentFile
		FilePath = Base.rte/Devices/SMGs/MagSMG2.bmp
	FrameCount = 1
	SpriteOffset = Vector
		X = -3
		Y = -4
	EntryWound = AEmitter
		CopyOf = Dent Metal
	ExitWound = AEmitter
		CopyOf = Dent Metal
	AtomGroup = AtomGroup
		AutoGenerate = 1
		Material = Material
			CopyOf = Bullet Metal
		Resolution = 2
		Depth = 0
	DeepGroup = AtomGroup
		AutoGenerate = 1
		Material = Material
			CopyOf = Bullet Metal
		Resolution = 3
		Depth = 1
	DeepCheck = 1
	JointStrength = 200
	JointStiffness = 1
	JointOffset = Vector//Offset of the joint where the magazine is attached
		X = 0
		Y = -3
	ParentOffset = Vector//Where on the parent this magazine is attached
		X = 1
		Y = 0
	DrawAfterParent = 0//Draw after(over) the parent, or before(under)
//Unique Magazine variables here
	RoundCount = 30//The amount of rounds to be able to fire before
	RTTRatio = 4//The number of RegularRounds to fire before firing a TracerRound
	RegularRound = Round
		CopyOf = Round Mod SMG//The normal round
	TracerRound = Round//You can put "None" here like with Shells
		CopyOf = Round Mod SMG Tracer//The tracer round[/CODE]

So, here the major uses of changes are to change the rounds, the number of them, and the sprite and joint. You will likely not spend much time on these, just make sure you name everything correctly.

And now you know about rounds and magazines. Woo!

If you were underwhelmed by Rounds and Magazines, hang on until next tutorial when we get into defining the particles rounds contain. Then you can do all sorts of fun things. For a taste of what you can do, try changing the Particle to be a TDExplosive and emit "Frag Grenade" (Particle = TDExplosive(newline)(tab)CopyOf = Frag Grenade). Be careful with the RateOfFire on your new and improved weapon, I'd set it to 500 or less.

For the basic mod file described in this tutorial (in case you messed up tabbing or spelling or whatever), see this link. [http://www.mediafire.com/?4ygutnl3tv2]