A short tutorial on how to create your own ammo and projectile type. Everything is explained to the best of my abilities. In this tutorial, you will create your own type of ammo through a projectile and item. Everything after a "//" is a comment, meaning that it does nothing to the code and should be deleted. If the comments are left alone, this will cause errors. Either type it out yourself, or delete them.
Creating new ammoEdit
This will be the code that you put in a new file for your ammo. For the tutorial, let's name it Cannonball.ini and place it in our Projectile folder.
[Stats] aiStyle=1 //aiStyle 1 is used for bullets and arrows. width=6 //Determines width of the bullet in this example. height=6 //Determines the height. scale=1 //How large the projectile is. type=-1 //-1 means you're using your own item, and not changing the default .ini's friendly=True //This means that it will not hurt you or friendly NPCs. damage=60 //This is self-explanitory. Change to what you'd like. penetrate=2 //See footnote *. ranged=True //Self-explanitory timeLeft=600 //This is how long it will take to disappear.** light=1 //This is how much light the bullet emits. (i.e. Meteor Bullets) tileCollide=True //Also self-explanitory. aiPretendType=20 //Tells the item to act like a Musket Ball.*** className=Projectile //Leave this alone for bullets/arrows.
For the example bullet, "Cannonball", the following should be the file in your Items folder. Likewise named Cannonball.ini.
[Stats] width=24 //Width. height=24 //Height. type=-1 //-1 means it's a custom type. Uses its own picture. maxStack=250 //Maximum amount you can have in one stack. toolTip=Heavy... //Self-explanitory. scale=1 //How large the item is. value=2500 //Price to sell. ammoName=Cannonball //The name of the file in the Projectile folder. damage=60 //set to what you want [Recipe] Amount=1 //How many of this item does the recipe make? needWater=False //Do you need water? False? Nope. Items=2 Iron Bar //Items required to make the item. Tiles=Anvil //Tiles required to make the item.
This will create a new projectile and bullet. This will not create a new means of shooting the bullet/projectile. For a tutorial on creating a new weapon, see "How to Make a Custom Weapon" or "Item and Projectile Tutorial"
- Penetrate determines how many enemies the bullet will go through before disappering.
- For timeLeft, the default for a bullet is 600 and 3600 for an arrow. This is due to their speeds.
- You don't need aiPretendType for arrows, as long as you enter 'aiStyle=1'.