- Add instant help message - Prevent from ending town combat if one member is in a forcecage or if everyone's in a different forcecage (you can still end it if everyone's in the same cage) - If entering town combat while caged, everyone remains in the cage - Penalties to melee combat if the target or attacker is in a forcecage (higher penalties if the attacker is caged, unless they're using a pole weapon) - Instead of placing a forcecage at every location where someone gains forcecage status, the game now syncs forcecages (placing them on locations where someone has forcecage status) at the end of the move. - The Flash Step and Word of Recall spells and any specials that move the party also clear their forcecage status, so that a new forcecage won't appear on their new location. If they're moved into a forcecage, the syncing process will give them the status at the end of the move. - Forcecage status now supported for the Occasional Status item ability - Forcecages now eventually expire on their own even if you can't break out. Unoccupied ones also have a slight (0.1%) chance each turn to expire. - Affect Status node now allows forcecage status. (It also works as documented, using Extra 1c rather than 2a as the status type.) - Preset monsters placed in preset force cages gain the status at town initialization; it's a lot more than they'd gain through the syncing process, so unless they break free, it'll last a very long time. - Monsters/PCs with spells (and PCs with Mage Lore) now have an increased chance of resisting entrapment in a forcecage - If the full party is subject to a forcecage, the PC with the best chance of breaking free (assuming they don't resist) is chosen to determine whether they resist. Note that this may not be the PC with the best chance of resisting in the first place. - Protection from Forcecage now implemented as an item ability Other stuff (though related): - Reset party's combat pos to the null location (-1,-1) after a cutscene ends; to not do so would mess up get_loc() calls
Classic Blades of Exile
This project hosts the source code to the classic RPG creator Blades of Exile after it was released by Spiderweb Software under GPLv2. It is a svn-git transfer from the Google Code Project; all issues and trunk code has been ported.
The primary purpose of this project is to provide bug fixes to Blades of Exile so that it can compile and run on modern operating systems. The secondary purpose is to generalize and extend its functionality while maintaining backwards compatibility.
If you would like to be added to this project contact Sylae or one of the other people on the owners list. This is an open project, with no strong prerequisites for getting commit access. With that in mind, please be careful of what you check into the repository. Please do not commit any binaries, junk files, or anything that doesn't compile.
The Win32/ directory should be considered "frozen" from this point on. Apart from minor bugfixes, it should not be altered. The src/ directory is to be the official codebase now. As of the time of this writing, it has a few major issues on Windows which are being worked on.
CBOE relies on a few libraries, and XCode needs to be told where they are. The graphics library we're using is SFML, which is a Framework that can be found here. They need to be linked in the Project Build Phases menu. You might also need to include zlib in the same place, but being that it's a builtin lib, that might be handled automatically in future builds.
The other dependency is Boost, a C++ library, which can be found here, however the most straightforward way to install it is via homebrew or some similar package manager. Wherever you put it, XCode needs to be linked to it via the Project Build Settings, under Linking->Other Linking flags, which should look similar to this:
-lboost_filesystem -lboost_system -L/usr/local/Cellar/boost/1.57.0/lib
With the path in the third include being wherever you put the boost lib folder. The includes need to be flagged in the Project Build Settings, under Apple LLVM Custom Compiler Flags -> Other C++ Flags, flags to which you should append something like this:
-isystem/usr/local/Cellar/boost/1.57.0/include
Again, the filepath just needs to point to Boost's includes.
Helpful Links
- Jenkins Server - Runs a build after every push
- [BoE Forum at Spiderweb Software](http://spiderwebforums.ipbhost.com/index.php?/forum/12-blades- of-exile/)
- Original Game Source - Where it all began. Warning: Terrifying code.
- Ormus's Code - The basis for most, if not all, of the Win32 work.
- Experimental Builds - will be put up whenever Celtic Minstrel feels like it.
- Blades File Dump - A spot to quickly add project files; mostly contains older binaries from the Google Code page.