There is a lot of code already in the game that relates to guild raids and it seems to be increasing.
Based on the code below it looks like there will be 5 kinds of military encounters: regular army, garrison, stronghold, mini boss and the final boss. Note that the mini boss and the final boss both have the same tooltip text "Attack the Boss!" and not "Attack the Final Boss!". There is no disambiguation.
My guess is that the final boss is the boss in the castle on the highest difficulty level, while the mini bosses are the bosses on the lower difficulty levels.
Both red stats and blue stats can be needed, even against the final boss.
The military actions is
case 2 while the donation actions are
case 3. It's unclear to me (because I'm not a programmer) if that means that case 3 is a separate path or an alternative to a case 2 path. Meaning that, if you are not strong enough to beat the encounter with units, you can buy you way through the encounters by donating goods, resources or units. Note that you must
donate goods, not
negotiate. The tooltip text even says so. The negotiation game seems to be omitted. Just blunt donating of loads of goods. That is the right choice imo.
The donation option appears to vary between units, goods and resources, which is a change from GE and GBG. We are used to always paying with goods, but now units? And the "resources" case is not clear to me. Will it be Quantum Supplies? Or supplies/coins from our main cities? I still haven't found the role of the Quantum Supplies. Quantum Coins can be collected from residential Quantum buildings and are needed to buy expansions for our outpost.
If you look at nodes/all_age image you can see on the far right 4 icons which I believe give the answer: 2 swords = attack encounter, shield = defend encounter, Quantum supplies/coins = donate resources, military units icon = donate units, and in the middle the goods icon = donate goods (from our main cities).
Code:
FTa._getHeadingText = function(a) {
switch (a._hx_index) {
case 0:
return "Start here!";
case 1:
return "Choose your path!";
case 2:
var b = a.fightType;
switch (a.armyType) {
case "attacking":
switch (b) {
case "garrison":
return "Attack the Garrison!";
case "final-boss":
case "mini-boss":
return "Attack the Boss!";
case "regular":
return "Attack the Enemy!";
case "stronghold":
return "Attack the Stronghold!"
}
break;
case "defending":
switch (b) {
case "garrison":
return "Defend the Garrison!";
case "final-boss":
case "mini-boss":
return "Defend against the Boss!";
case "regular":
return "Defend against the Enemy!";
case "stronghold":
return "Defend the Stronghold!"
}
}
break;
case 3:
switch (a.type) {
case "goods":
case "resources":
return "Donate resources!";
case "units":
return "Reinforce the base!"
}