-
Notifications
You must be signed in to change notification settings - Fork 18
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #304 from hybrasyl/prep-0.8.0
Hybrasyl 0.8.0 ("Saoirse")
- Loading branch information
Showing
288 changed files
with
8,951 additions
and
5,433 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,231 +1,3 @@ | ||
# Hybrasyl Server Changelog | ||
|
||
*This is the changelog for the server project. Releases that have names | ||
generally add fairly significant features, whereas ones without are primarily | ||
for bugfixing and other updates.* | ||
|
||
# Hybrasyl Server 0.7.0 ("Daithi") | ||
|
||
*To Be Released: March 15, 2020* | ||
|
||
### Bug Fixes | ||
|
||
* Items that are generated by scripting or other events can now be picked up correctly. | ||
* Coma handling in groups now works as you would expect. | ||
* Creature death no longer results in 0-gold piles. | ||
* EndDialog scripting function should not only end dialog, but also close open dialog windows | ||
* Correct bug in spawn calculations where it would take longer for initial spawns to populate than usual | ||
* Fix several bugs in grouping (player death would be immediate, etc) | ||
* Fix a number of dialog and NPC bugs (sequences would terminate inappropriately; NPC would lose state) | ||
|
||
### Features | ||
|
||
* Reactors (map tiles that can react to nearby events, such as dropped | ||
items or a player or monster moving into the tile) implemented. | ||
* Full spawning implementation. SpawnGroups, Spawns now spawn and populate correctly with loot/xp/gold. | ||
* Loot implemented (Loot tables, loot sets, etc). New `LootBox` class for handling loot calculations. | ||
* Castables can now use and fire Lua scripts and start dialog sequences. | ||
* JumpDialogs and FunctionDialogs added. Jump dialogs can be used in | ||
an NPC dialog tree to start new sequences or jump to different | ||
dialogs. Function dialogs can be used to run arbitrary Lua scripting | ||
code in between two dialogs (potentially to take an action - such as | ||
spawning a monster, dropping an item, starting a dialog, etc). | ||
* Add two new dialog types for ease of scriptable dialog construction (TextAndJump, SimpleDialogSequence) | ||
* Asynchronous dialog support (dialogs between two players, or a player and an NPC) implemented. | ||
* Global dialog support implemented (reusable, scriptable dialogs) | ||
* Scripting support improved and extended as was needed to support various beginning game NPCs. | ||
* Hybrasyl time system reworked a bit (simplified). Legend marks | ||
updated to support "timestamp" and "creation" date; timestamp being | ||
what is displayed in the legend. | ||
* Significant functionality improvements to scripting API. NPCs can now have temporary "memory" they can use to remember general information. | ||
* Add support to transition between two active dialog sequences. | ||
* Add support for dialog options to trigger new sequences. | ||
* Implement TakeItem for scripts, so that NPCs can remove items from a player's inventory | ||
* Add support for setting and clearing permanent and session cookies (arbitrary player information which can be used by scripts). | ||
* XML/XSD overhaul. Duplicate types removed, many things cleaned up & fixed. XML objects and typing are in a much better, cleaner state than previously. No impact to end user XML besides some namespacing changes. | ||
|
||
### Technology / System Improvements | ||
|
||
* Hybrasyl upgraded to .NET Core. As a result, Hybrasyl Server can now run on GNU/Linux and OSX, among others. | ||
* MoonScript now used for Lua runtime instead of nLua. | ||
* Serilog now used for logging (log4net replaced). Logging is now much cleaner. Game activity / scripting / spawning now have separate logfiles. | ||
* Upgrade to xsd2code 5. | ||
|
||
|
||
# Hybrasyl Server 0.6.1 | ||
|
||
*Released: March 4, 2018* - [View this release on GitHub](https://github.com/hybrasyl/server/releases/tag/0.6.1) | ||
|
||
### Bug Fixes | ||
|
||
[Fixed] #129: Staves / rings displayed incorrectly after relogging | ||
[Fixed] #130: Can't assail without casting a spell first | ||
[Fixed] #138: Who list shows users who are not logged in | ||
[Fixed] #140: Server start error due to incorrect port numbers for control service | ||
[Fixed] #142: Minor bug fixes to casting | ||
[Fixed] #143: Statuses not working under certain XML conditions / clean up XML definitions | ||
[Fixed] #144: Status duration calculated incorrectly | ||
[Fixed] #146: Statuses cannot be serialized | ||
[Fixed] #147: Inappropriate sound effects played for statuses which have no sound effects | ||
|
||
# Hybrasyl Server 0.6.0 ("Bruce") | ||
|
||
*Released: January 25, 2018* - [View this release on GitHub](https://github.com/hybrasyl/server/releases/tag/0.6.0) | ||
|
||
### Features | ||
|
||
* Full status support (poison, sleep, buff/debuff, etc) added | ||
* Castable support is now complete, with the notable exception of scripted castables | ||
* Loot tables / loot sets implemented | ||
* NPCs now support learning/forgetting skills/spells, selling/buying items, and sending/receiving parcels | ||
* Support for elemental damage has been implemented | ||
* Lua scripting is now supported (IronPython has been removed entirely) | ||
* Cooldowns for castables have been implemented | ||
* Many, many, many XSD/XML updates | ||
* Fix packet throttling implementation | ||
* Full support for monster spawning with variance (stronger or weaker monster) support | ||
* Add support for heal/damage modifiers, reflect chance / intensity, element overrides (offensive/defensive) | ||
* Monsters now support a rudimentary AI for moving and attacking | ||
* Improved chat command support with a rudimentary plugin architecture. Also, `/help` now works! | ||
* Begin to add support for multithreaded game logic / packet handling (controlmessages only, currently) | ||
* Add a secondary HTTP listener for API calls for service requests (shutdown/restart server, etc) | ||
|
||
### Bug Fixes | ||
|
||
* All extant network bugs should be fixed - assail not working, desynched sounds, etc | ||
* When a significant number of monsters die simultaneously (>15) on a crowded map, a burst of server-wide lag could occur | ||
|
||
### Other | ||
|
||
* For ease of maintenance and use, the XML/XSD code has been integrated back into the main solution | ||
* Refactor how packet handling is done with flags and player conditions | ||
* Hybrasyl now targets 64-bit .NET 4.7 | ||
* Death handling now uses XML config values as opposed to relying on any hardcoded configuration | ||
* Added a lot more packets to the new packet structure | ||
|
||
|
||
# Hybrasyl Server 0.5.5 ("Devlin") | ||
|
||
*Released: December 20, 2016* - [View this release on GitHub](https://github.com/hybrasyl/server/releases/tag/0.5.5) | ||
|
||
### Features | ||
|
||
* Spell targeting implemented | ||
* Cast lines for castables supported | ||
* Creatures and players can now die and have OnDeath events | ||
* Basic player status support (such as poison, sleep, etc) implemented | ||
* Monster spawning support implemented (regularly spawning new creatures in an area, using spawngroups) | ||
* Castable support is mostly implemented; 0.5.6 will complete the implementation (NPC learning / forgetting skills, proper directional usage, etc) | ||
* Skills and spells are now movable on the client pane | ||
* Use skill / use spell handlers implemented | ||
|
||
### Bug Fixes | ||
|
||
* National support for spawn locations fixed / updated | ||
* Two-handed equipment should now properly prevent a shield from being equipped | ||
* Two-handed flags on items should work as expected | ||
* Items allowing negative stats / HP / MP now fixed | ||
* Assail now properly uses the sound from the first assail in your list | ||
|
||
### Known Issues | ||
|
||
* Server socket state can sometimes get a little wonky which can require a restart. We're working on it. | ||
* Client sometimes cannot login again after logging off. | ||
* Packet throttling is disabled pending reimplementation. This means you can spam attack things at the moment, and also is related to the socket state issues. | ||
|
||
Required SDK Version: at least 0.5.5.17 | ||
|
||
# Hybrasyl Server 0.5.2 ("Dar") | ||
|
||
*Released: June 6, 2016* - [View this release on GitHub](https://github.com/hybrasyl/server/releases/tag/0.5.2) | ||
|
||
### Features | ||
|
||
* Implement usage support for items. Items now respect their XML definitions | ||
for usage. For instance: | ||
|
||
```xml | ||
<item> | ||
<use consumed="true"> | ||
<teleport x="3" y="3">Test Village</teleport> | ||
<playereffect mp="50" hp="50" xp="50" gold="50"/> | ||
<effect id="3" speed="1"/> | ||
<soundeffect id="6"/> | ||
<scriptname>mycoolitem.py</scriptname> | ||
... | ||
</item> | ||
``` | ||
|
||
Any of these use cases can be combined with one another, opening up a lot of | ||
possibilities for item scripting. | ||
|
||
* General concept of healing (increasing player/creature HP) implemented. | ||
* Python API scripting now supports damage/healing/etc. | ||
* Legend marks implemented, along with Python scripting API that can be used by | ||
in-game scripts to manage marks. | ||
* Example NPC script added, to help users who wish to learn more about the | ||
Python scripting API. Documentation is coming - we promise. | ||
|
||
### Bugfixes | ||
|
||
* Item quantities are now appropriately displayed in the exchange window. | ||
* Level and experience overflows corrected, maximum level is now set as a | ||
compile-time constant (`Constants.MAX_LEVEL`) and defaults to 99. | ||
* Item bonuses (AC, magic resistance, etc) are now correctly recalculated at | ||
login (thanks to @woghks123 for reporting this issue). | ||
* `README` updated. | ||
|
||
# Hybrasyl Server 0.5.1 | ||
|
||
*Released: May 30, 2016* - [View this release on GitHub](https://github.com/hybrasyl/server/releases/tag/0.5.1) | ||
|
||
|
||
### Features | ||
|
||
* Sample XML data updated. | ||
* Documentation updates. | ||
* Added support for server (Aisling) time. | ||
|
||
### Bugfixes | ||
|
||
* Bug fixed where the server would write out incorrect XML, causing the | ||
login/world port to be the same. | ||
|
||
# Hybrasyl Server 0.5.0 ("Riona") | ||
|
||
*Released: May 23, 2016* - [View this release on GitHub](https://github.com/hybrasyl/server/releases/tag/0.5.0) | ||
|
||
|
||
### Features | ||
|
||
* Redis is now a requirement, and is used for storing state data such as users, | ||
board posts, and mailboxes. | ||
* All world data is now read in from XML files. A new integration library | ||
(called, appropriately, SDK) has been created to manage the parsing, | ||
validation and writing of XML files. | ||
* As a result of the above, the server no longer uses MySQL, and all references | ||
/ dependencies for it have been removed. | ||
* Thanks to Michael Norris (@norrismiv), we now have a new launcher, which | ||
displays news and should support a lot of new features in the future. | ||
* Several item, item display and exchange bugs fixed. | ||
* Experience implemented in a real way (with leveling support). | ||
* Nation support (citizenship) implemented, along with logging in to expected | ||
spawn locations (national spawnpoints). | ||
* Character info panel now functions as expected. | ||
* Mailbox / forums fully implemented. | ||
* Grouping support implemented. | ||
* Unique / unique equip item flags, negative weight, master restrictions | ||
implemented. | ||
* Networking stack completely reimplemented using async sockets with separate | ||
send/receive threads. | ||
* Beginning of skill/spell implementation - /skill <skillName> will give your | ||
character a skill. Still a lot to be done here. | ||
* Assail / spacebar support for assail implemented. | ||
* The beginning of spawning support has been implemented. Unfortunately, at the | ||
moment, this simply means that wolves and bees have infested Mileth. | ||
|
||
### Bugfixes | ||
|
||
* Poor, long-suffering Riona in Mileth, critically wounded in a prior release, | ||
will now respond to Aislings again. | ||
x | ||
The release tracker (https://github.com/hybrasyl/server/releases) is much better at this. Go there. |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.