Almost every week I get the question on the forums or in private messages: how do I make a specific unique or legendary drop for me? This is a guide to how you can mod the scripts to get any item you want to drop as a quest reward.
The key is making the item(s) the reward for a quest that is very easy to solve: in this case, it is the multiplayer "start quest" which only requires you to enter a LAN game and either go through the portal or climb on your mount. Detailed instructions are as follows:
You should use a good text editor like Notepad++ for investigating and editing the game's text files.
1) First identify the blueprint ID for the item or items that you want to get. Do this by looking in blueprint.txt. It's located in the scripts/server folder of the game install folder.
There is no master list of all the ID's and proper item names, but you can figure it out by some trial and error. For the CM Patch items at least, the items mostly have the proper names commented in the entry. Here's an example:
newBlueprint = {
id = 4143,
name = "sword01set02_desertrose",
palettebits = "1111111111111111",
dmgvariation = 100,
minconstraints = {40,13,0},
lvljump = 10,
usability = 0,
allotment_pmfpi = {700,0,0,0,300},
uniquename = "",
specialuseonly = 0,
bonusgroup0 = {895,1200,10,9,0}, -- Serious Open Wounds
bonusgroup1 = {878,1250,10,9,0}, -- Freeze
bonusgroup2 = {893,1300,10,9,0}, -- Opponents Defense
bonusgroup3 = {894,800,10,9,0}, -- Opponents chance to reflect melee
bonusgroup4 = {751,1000,10,9,0}, -- Gold Slot
itemtypes = {13511,},
wearergroups = {'WEARGROUP_DEFAULT',},
}
mgr.createBlueprint(4143, newBlueprint);
This is the blueprint for the sword Desert Rose. You can see that the ID is 4143.
2) Next step is to enter that blueprint ID as a quest reward for the multiplayer quest in quest.txt (also located in scripts/server folder). Search "multiplayer" in quest.txt and it will take you to the proper quest entry (there is only one instance of the word).
Add a new line defining a quest reward just above the line that says "report_required = 0," Add this text:
rewards = { {4143,0}, },
The number 4143 can be replaced with any other blueprint ID. If you want multiple items, just add them underneath the previous ones like so:
rewards = { {4143,0},
{4144,0},
{4145,0}, },
Save quest.txt (back it up first!). Now on to step 3.
3) Now you can go get the item in-game. To start with, select "Multiplayer" and then "LAN" at the start screen (don't worry, you can take your normal singleplayer characters into a LAN game, then return to singleplayer games with nothing changed). Create a new game, remembering that higher difficulties will yield better versions of the item.
When you start the game, you'll be on Multiplayer Island. Then all you need to do is either enter a portal or just climb on your mount, the "quest" will complete and the item(s) will drop to the ground!