SXC Development

Discussion of all aspects of multiplayer development: unit balancing, map development, server development, and so forth.

Moderator: Forum Moderators

Post Reply
User avatar
octalot
General Code Maintainer
Posts: 818
Joined: July 17th, 2010, 7:40 pm
Location: Austria

Re: SXC Development

Post by octalot »

Apologies for not uploading to 1.18 until now, and thanks to ccX both for filling the gap on 1.18, and for giving back control.

There's been one final upload to 1.16, version 0.3.3.1, fixing bugs on SXC Cursed Land and SXC Slaughter where the unit names in Ageless have changed.

New stuff in 0.3.12, now on 1.18:
  • Even on maps with Ageless Era AI units, the host can choose a different era for player units (thanks to Ravana for the AE_units_loader)
  • There’s a “madder than mad” difficulty, I look forward to seeing how it goes. For other difficulties, the XP needed is back to its 1.16 levels
  • Revive mode now gives a full heal instead of reviving with 1 hp, but costs a bit more than a shop heal even in rookie mode. This stops an enemy spawn-camping a player who doesn't have enough gold to heal (you can respawn with negative gold)
  • Every shop now sells red potions
  • The SXC Default Low Level Era now has two Dunefolk, one who skirmishes and the other who can get both megacures and minorregen.
  • On SXC Braveheart, the map where players are separated at the start, made it possible to have a “spare” side for late-joining players
  • Bugfixes
There's currently open questions about whether to add ranged rage specials, and whether the bosses respawn too much on Advanced and Infernal.
User avatar
octalot
General Code Maintainer
Posts: 818
Joined: July 17th, 2010, 7:40 pm
Location: Austria

Re: SXC Development

Post by octalot »

Dotman is creating some interesting new maps, which has prompted me to look at how to publish extra maps in a separate add-on, so that other people can host games without waiting for me to upload a new version. Although putting scenarios directly into ~add-ons/SXCollection/scen_new works, the add-on manager doesn't expect that, and is likely to delete them when upgrading to a new version of SXCollection.

You can make your own add-on, and tell Wesnoth to use the macros from SXCollection with it; this only needs a directory with a _main.cfg in it. For example, mine's "Octa_SXC_Maps" and I have the following under the main add-ons folder, the same directory that has subdirectories SXCollection and Ageless_Era.

Code: Select all

Octa_SXC_Maps/_main.cfg
Octa_SXC_Maps/maps/SXC_Bloodmoon.map
Octa_SXC_Maps/scenarios/SXC_Bloodmoon.cfg
Contents of _main.cfg
This is sufficient - just change the path= line to match your own add-on's directory.

Code: Select all

[binary_path]
    path=data/add-ons/Octa_SXC_Maps
[/binary_path]

#ifdef MULTIPLAYER
{~add-ons/SXCollection/macros}
{./scenarios/}
#endif
Editing a _main.cfg from the scenario editor's add-on template
Start with the add-on template that the scenario editor creates, such as "MyAwesomeAddon-123". I suggest renaming it (the editor has a tool for that), but will use that name for the rest of this.

In _main.cfg, add the three lines with + signs at the start (don't add the + character itself, just the rest of the line):

Code: Select all

     path=data/add-ons/MyAwesomeAddon-123
 [/binary_path]
 
+#ifdef MULTIPLAYER
+{~add-ons/SXCollection/macros}
 {~add-ons/MyAwesomeAddon-123/scenarios}
 {~add-ons/MyAwesomeAddon-123/utils}
+#endif
 
 [units]
     {~add-ons/MyAwesomeAddon-123/units}
Put the .map and .cfg files in their respective directories (scenarios, not scen_new).
  • if your scenario has a map_file line, for example map_file="SXC_BraveHeart.map", it will automatically find the map
  • if your scenario has a map_data line, for example map_data="{~add-ons/SXCollection/maps/SXC_BraveHeart.map}", then either update the path or change it to use map_file instead
Using map_file is preferred. The wiki's DirectActionsWML#.5Breplace_map.5D has an explanation of how it finds the map file.

Remember to refresh Wesnoth's cache (press F5 on the title screen), and then your scenario should appear in the Create Game screen's list, either above or below all of the other SXC maps (it sorts by directory).
Uploading it to the add-ons server
PblWML explains the _server.pbl file, and links to docs about how to upload.

In _server.pbl add dependencies="SXCollection", or if any of your maps use AE units, dependencies="Ageless_Era,SXCollection".
I recommend tags="cooperative, survival" too.
cupcakes
Posts: 6
Joined: September 3rd, 2021, 6:07 pm

Re: SXC Development

Post by cupcakes »

For what it is worth, I was able to beat this map on madder than mad mode:

SXC Bloodmoon (experimental)
SXCCollection 0.3.13
Post Reply