How to Add a BCNM
In this page we will learn how to add BCNMs. Why? Well you should have thought about that before coming here. WORK IN PROGRESS
Adding the BCNM to the list
To add a BCNM you'll need three things: - The bcnmid, paramid - Mob IDs and
To start off, navigate to your dsp folder and then to /scripts/globals/ and open bcnm.lua
Inside you'll see something like this:
itemid_bcnmid_map = { 6,{0,0},--Bearclaw_Pinnacle 8,{0,0},--Boneyard_Gully 10,{0,0},--The_Shrouded_Maw 13,{0,0},--Mine_Shaft_2716 17,{0,0},--spire of holla 19,{0,0},--spire of dem 21,{0,0},--spire of mea
Unless you're adding a BCNM that requires an item trade, the above will be of no use. You should scroll down to this instead:
bcnmid_param_map = {6,{640,0}, 8,{672,0}, 10,{704,0,706,2}, 13,{736,0}, 17,{768,0}, 19,{800,0}, 21,{832,0}, 23,{864,0},
This may seem confusing at first glance but it's not! Here's a breakdown of it:
bcnmid_param_map = { 6,{640,0},
The first number (in our case 6) is the ZoneID. The first pair of numbers after the ZoneID are the bcnmid and paramid (which must always be in pairs).
6, <- Zone ID {640 <- bcnmid , 0 <- paramid }
The bcnmid can be found in the bcnm_info sql file / table.
The paramid can usually be found commented in the BCNM zone's Burning_Circle.lua file e.g.
----------------------------------- -- Area: Balga's Dais -- NPC: Burning Circle -- Balga's Dais Burning Circle -- @pos 299 -123 345 146 ------------------------------------- package.loaded["scripts/zones/Balgas_Dais/TextIDs"] = nil; package.loaded["scripts/globals/bcnm"] = nil; ------------------------------------- require("scripts/globals/keyitems"); require("scripts/globals/bcnm"); require("scripts/zones/Balgas_Dais/TextIDs"); ---- 0: Rank 2 Final Mission for Bastok "The Emissary" and Sandy "Journey Abroad" ---- 1: Steamed Sprouts (BCNM 40, Star Orb) ---- 2: Divine Punishers (BCNM 60, Moon Orb) ---- 3: Saintly Invitation (Windurst mission 6-2) ---- 4: Treasure and Tribulations (BCNM 50, Comet Orb) ---- 5: Shattering Stars (MNK) ---- 6: Shattering Stars (WHM) ---- 7: Shattering Stars (SMN) ---- 8: Creeping Doom (BCNM 30, Sky Orb) ---- 9: Charming Trio (BCNM 20, Cloudy Orb) ---- 10: Harem Scarem (BCNM 30, Sky Orb) ---- 11: Early Bird Catches the Wyrm (KSNM 99, Themis Orb) ---- 12: Royal Succession (BCNM 40, Star Orb) ---- 13: Rapid Raptors (BCNM 50, Comet Orb) ---- 14: Wild Wild Whiskers (BCNM 60, Moon Orb) ---- 15: Season's Greetings (KSNM 30, Clotho Orb) ---- 16: Royale Ramble (KSNM 30, Lachesis Orb) ---- 17: Moa Constrictors (KSNM 30, Atropos Orb
In this case, if the BCNM we were adding was for Rank 2 Final Mission in Balga's Dais, we could use the information from bcnm_info table;
[bcnmid | zoneId | name ] [ 96 | 146 | rank_2_mission ]
This is what we'd see in bcnm.lua with 96 being bcnmid and 0 being the paramid.
bcnm_param_map = { 146,{96,0}, }
IMPORTANT: You do not need to create another line for an existing zone's bcnm, simply add the bcnmid and paramid at the end of the zone's array so it looks like this:
bcnm_param_map = { 146,{96,0,99,3}, }