-
Notifications
You must be signed in to change notification settings - Fork 69
How to add new Characters
Pretty much everything will be done in common/data
The first thing to check is units.js
in here we will find the list of Units listed by their ID, the ID of a row is the Number of that row minus 1. So Base Buggy is on line 39 but his ID is 38.
If for some Reason we are missing Data on a few whole Units, you need to add Empty [] as a placehodler for them.
Now to the Unit Info themselfes: Example:
[ "Monkey D. Luffy", "STR", "Fighter", 2, 1, 5, 0, 5, 163, 42, 15, 8, 134, 68, 15, 1 ]
is According to the form
["Name","Type","Class",Stars,Cost,Combo,Slots,Max Level,EXP to Max, Min HP, Min ATK, Min RCV, Max HP, Max ATK, Max RCV,Growth Rate]
if the Unit has two Types add them like this:
["Type1","Type2"]
Growth Rate is still kind of a mystery to me, but depending on the value Units gain stats, if set to 0 it will show up as needing more info. I guess that the original OPTC Guy had some kind of Table where he calculated it by comparing values.
The Name/Detail of both the Captain Ability and the Special is saved in details.js
You will have to add them like this:
ID: {
captain: "Captain Ability Description",
specialName: "Special Ability Name",
special: "Special Ability Description",
specialNotes: "Additional Notes for the Special"
},
Captain Ability
To make the aptain Ability work in the Calcaulator we also have to add it to captains.js
8: {
atk: function(p) { return p.unit.type == "DEX" ? 2 : 1; },
rcv: function(p) { return p.unit.type == "DEX" ? 1.2 : 1; },
hp: function(p) { return p.unit.type == "DEX" ? 2 : 1; }
},
Your best bet here is to find a Unit that has a similiar Captain Ability, and adjust it accordingly. We also only care about Captain Abilities that modify Stats, so there is no entry for Heals in there.
Cooldowns The Min And Max Cooldowns are saved in cooldowns.js (What a surprise)
It's also pretty straight forward, each Character has an entry, if he has no Specials it has to be set to null, otherwise
[ MAX, MIN ]
Specials If your New Special somehow changes stats or damage, so basicly Class/type/orb boosters.
916: {
atk: function(p) { return p.unit.class.has("Knowledge") ? 1.5 : 1; },
rcv: function(p) { return p.unit.class.has("Knowledge") ? 1.5 : 1; },
type: "class"
}
Same as Captain Abilities, check existing specials to see if you can repurpose them. The type is used so that only one class/type boost is active at the same time, there also are warnings you can use
Does your Character Evolve? If yes what does he need to evolve?
If there is only one Evolution
ID: {
evolution: ID of Evolution,
evolvers: [ ID of Evolver, ID of Evolver]
},
otherwise it is like this:
ID: {
evolution: [ ID of Evolution, ID of Evolution ],
evolvers: [ [ ID of Evolver for first Evolution, ID of Evolver for first Evolution ], [ ID of Evolver for second Evolution ] ]
},
Whichever Family the Units belongs to, AFAIK usable for Sockets If there is no other similar Unit set it to null
otherwise
"The common family name"
Most units have Flags to make them sortable
ID: {TAG: value}
Here is a list of Flags I found so far and what they mean
Flag | Explanation |
---|---|
global | whether the unit has arrived on Global yet |
rr | if the unit is obtainale through rare recruit |
rro | if the unit is aailable through rare recruit only |
lrr | If the unit is in rare recruit for a limited time only |
special | If it's a special one time promotion character |
Remember Tandems? Neither do I, but they still show up every now and them, but they are simple to add. Edit tandems.js
{
"name": "Tandem Name",
"desc": "Tandem Description",
"units": [ ID of Unit 1, ID of Unit 2, ... ]
}
Starting from the Other Name feature there is now a specific way to set up Aliases
ID: ['Name in Japanese', 'Name in French','Alias 1', 'Alias 2']
All of them will be searchable but the first will show up as the Japanese Name in the detail view, second as french, everything else as others
If your new Captain Ability enables Zombiing you also need to edit zombies.js
ID: {
type: 'healer OR zombie OR reducer',
multiplier: 4 //If healer and he recovers X amount of RCV | if reducer how much damage he takes (1 - reduction)
amount: 1000 //If healer and has a static heal
treshold: 0.3 //If zombie how much HP you need to have left in % to survive | if reducer how much HP you need to have to trigger the reduction
}
Since GW has no logical linking system we also need a table for that
Check out gw.js and just keep on adding the respective gamewith id
So for G3 check the GW link: http://xn--pck6bvfc.gamewith.jp/article/show/4005
You will have to add the id "4005" in Position 217 of that really long array.