Breeding Calculator

''Unable to load the Javascript on this page? You can still get the information manually from our Breeding Charts.''

BreedingCalculatorData BreedingCalculatorCode

Breeding Outcomes
See what happens when you breed two dragons here.

''* Dragons with incubation times of longer than 24 hours will inaccurately display in the game rounded up to the next whole day when you first breed them (Ex: 25 hours gets rounded to 2 days). To determine how many hours the incubation will take, check the initial gold cost.''

BreedingCalculator

Breeding Possibilities
See which dragons you can use to breed your desired dragon here.

''* Dragon level, order, and species do not affect the probability of getting a rare dragon. To breed a desired dragon, you simply need the correct colors and enough patience.''

BreedingPairCalculator

<!--Instructions to include new dragons:


 * Note: You must be logged in with admin rights to edit most of the pages in question. MediaWiki pages automatically place this requirement, although you can view the pages without any admin access.

1) Go to the http://dragon-story.wikia.com/wiki/MediaWiki:BreedingCalculatorData page. You won't see anything on the page; don't panic.  It's purposely set that way because we do not want the data to be displayed.  Just click to edit the page.

2) You need to update a few sections to add a new dragon. Do the easier (but still very important) parts first.  You will find the shorter lists towards the bottom of the page.

a) Find the list dragon_ids = {...}. Add the new dragon's name in alphabetical order WITHOUT spaces or punctuation (Ex: Change ice cream to icecream). Don't forget to put the name in quotes and include a comma after the name if it's not the last one in the list.  (Do not include a comma after the name if it's the last one in the list.)

b) Next, find the lists pure_outcomes = {...}, hybrid_outcomes = {...}, and diamond_outcomes = {...}. You will need to make a decision about which list(s) in which to include the dragon based upon some rules. Remember to add the name WITHOUT spaces or punctuation (Ex: Change ice cream to icecream).

- If the dragon is a pure diamond color, include it in diamond_outcomes in alphabetical order.

- If the dragon is a pure color, include it in pure_outcomes in alphabetical order. You will notice that the Diamond, Infinity, and Magic dragons are included in the pure_outcomes list as well. The lists are not mutually exclusive. Include a dragon in a list if it fulfills the requirement.

- If the dragon can be bred when multiple colors are in the breeding pool, and it has specific required colors for breeding, include it in the hybrid_outcomes section. You will notice that the Magic Dragon is in this list, but the Diamond and Infinity Dragons are not. That is because the Magic Dragon can be bred when Red and Blue colors are included in a breeding combo. The Diamond and Infinity dragons can be bred when at least 4 colors are present, but they do not require specific colors, and thus they should not be included in the hybrid_outcomes list.

c) Now find the big list of dragon_data = {...} where the majority of the information for dragons resides. You will want to scroll to the section where you can include the new dragon's data in alphabetical order.  Now, add a section that looks like one of the following.  Remember to include a comma after the } if the dragon is not the last one in the list.  Do not include a comma if the dragon is the last one in the list.  Remember to add the name WITHOUT spaces or punctuation (Ex: Change ice cream to icecream).

A more detailed explanation of each component of the data is included below the examples.



--- Dragon with single color, under 24 hour breed time ---

air: { name: "Air", colors: ["yellow"], breedtype: "basic", requiredcolors: ["yellow"], incubation: "2_hours_2", rarity: "Common" },

--- Dragon with multiple colors, under 24 hour breed time ---

aether: { name: "Aether", colors: ["blue", "purple"], breedtype: "hybrid", requiredcolors: ["blue", "purple"], incubation: "16_hours_16", rarity: "Super Rare" },

--- Dragon with single color, over 24 hour breed time ---

diamond: { name: "Diamond", colors: ["diamond"], breedtype: "special_diamond", incubation: "2_days_44", rarity: "Ultra Rare" },

--- Dragon with multiple colors, over 24 hour breed time ---

titan: { name: "Titan", colors: ["red", "purple"], breedtype: "hybrid", requiredcolors: ["red", "purple"], incubation: "2_days_32", rarity: "Rare" },



The basic skeleton of a dragon data entry is as follows:

id: { name: "", colors: [], breedtype: "", requiredcolors: [], incubation: "", rarity: "" }

--- id: ---

The name must be in lowercase. A dragon data entry should be included in alphabetical order in the list of dragon_data.

--- name: ---

The name must have the correct capitalization and punctuation. For example, "IceCream" or "ice cream" are incorrect and should be written as "Ice Cream".

--- colors: ---

This is a list of the dragon's actual colors. Include each color in quotation marks ("") and include a comma following those quotes if the color is not the last one in the list. Include each color in the order that it should be displayed for that dragon. For example, the Eagle Dragon's entry should say colors: ["yellow", "red"] while the Firestorm Dragon's entry should say colors: ["red", "yellow"].

--- rarity: ---

This is the dragon's in-game rarity. Put it in quotation marks with the appropriate spacing and capitalization.

--- incubation: ---

Notice that each part of the incubation information is separated by an underscore (_).

The first part is the number that corresponds to the dragon's breeding time. If it's 2 hours, the first part will say 2. If it's 30 seconds, the first part will say 30.

The second part is the time measurement type. If it's 2 hours, the second part says hours. If it's 30 seconds, the second part says seconds.

The third part is the number that corresponds to the dragon's initial gold cost for speeding up. If it's 44 hours, the third part will say 44. If it's 15 seconds, the third part will say 1.

--- requiredcolors: ---

This variable is slightly more complicated than the dragon's actual colors. First, you must decide whether to include this section at all.

If the dragon is a pure Diamond color dragon, do NOT include this section. If the dragon is anything else, include this section. (This means that Diamond and Infinity should not include this section, while Crusader and Air should.)

If included, requiredcolors is a list of colors that must be present in order to breed the dragon when multiple colors are in the breeding pool. Unlike the colors variable, requiredcolors is not order-sensitive. For a Gold Dragon, requiredcolors: ["yellow", "diamond"] and requiredcolors: ["diamond", "yellow"] mean the same thing.

You will notice that the Magic Dragon has requiredcolors: ["red", "blue"] while having colors: ["purple"]. This is a very important distinction to make. When multiple colors are present, you cannot breed a pure color dragon with the presence of its pure color. Since the Magic Dragon is a special pure color dragon that can be bred with Red and Blue colors, it is the only currently existing pure dragon that can appear when multiple colors are present in a breeding combo.

--- breedtype: ---

It is very important to handle this variable correctly. It determines the type of breeding rules that will govern the dragon.

At the moment, there are three different breedtypes: basic, hybrid, and special_diamond.

If the dragon's colors include Diamond, it must be a special_diamond breedtype. This rule supercedes all others.

If the dragon has only one color, it is a basic breedtype. Note that the Diamond and Infinity dragons do not qualify for this category because they must be a special_diamond breedtype.

If the dragon has more than one color, it is a hybrid breedtype. Note that dragons like the Crusader, Gold, or Quetzal do not qualify for this category because they must be a special_diamond breedtype.

3) Once you have entered all the new data, publish your changes. Go to the Breeding Calculator page. When you are there, edit the link by adding ?action=purge, so that the link looks like this:

http://dragon-story.wikia.com/wiki/Breeding_Calculator?action=purge

Then, press Enter (or Go or whatever) to make the browser do that action on the page. This should refresh the server cache.

If you have performed all the steps correctly, the changes should now be live for everyone! You should not have to clear your cache or do anything else.

If the newest dragon is not obeying the correct rules, re-check step 2 (b and c). The data entered is most likely incorrect. If the newest dragon is not showing up in the dropdown menus, reconfirm that you did step 2 (a) and added the dragon properly to the dragon_names list.

If your latest changes are still not showing up, there could be a caching issue. Make sure you performed ?action=purge after the most recent change. This will usually refresh the server cache immediately, but sometimes it is possible to take a few minutes.

If you have to change the MediaWiki:BreedingCalculatorData page, remember to go to the Breeding Calculator page and perform that ?action=purge again so that the changes are refreshed.

-->