Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Fix issue #140 - ensure port check is correct (zero, not == null) * Minor bug fixes to casting - Item cost not being calculated correctly - Damage / Heal updated to reflect the new method previously created "IsEmpty" rather than evaluating based on Null condition * Minor adjustment to cost eval If reduceHp is greater or equal to current HP, then should fail as this would reduce caster HP to zero (aka death). MP however, can be reduced to 0. * Fix #144: Status duration calculated incorrectly Fix #143: Statuses not working under certain XML conditions / clean up XML definitions Fix #130: Can't assail without casting a spell first * Fix #138: use active users for who list (#141) Ensure server processes shutdown command successfully AND responds successfully via REST * Minor bug fixes to casting (#142) * Minor bug fixes to casting - Item cost not being calculated correctly - Damage / Heal updated to reflect the new method previously created "IsEmpty" rather than evaluating based on Null condition * Minor adjustment to cost eval If reduceHp is greater or equal to current HP, then should fail as this would reduce caster HP to zero (aka death). MP however, can be reduced to 0. * Fix #144: Status duration calculated incorrectly Fix #143: Statuses not working under certain XML conditions / clean up XML definitions Fix #130: Can't assail without casting a spell first * Minor XSD bug All others are maxOccurs = 1, so I have assumed the same for this element. * Fix status serialization / inappropriate sound effects (#147) * Minor bug fixes to casting - Item cost not being calculated correctly - Damage / Heal updated to reflect the new method previously created "IsEmpty" rather than evaluating based on Null condition * Minor adjustment to cost eval If reduceHp is greater or equal to current HP, then should fail as this would reduce caster HP to zero (aka death). MP however, can be reduced to 0. * Fix #144: Status duration calculated incorrectly Fix #143: Statuses not working under certain XML conditions / clean up XML definitions Fix #130: Can't assail without casting a spell first * Fix #146: Statuses do not persist correctly after logoff Fix #127: Statuses play incorrect sound / play incorrect sounds repeatedly on tick y * Address some PR comments * remove spurious whitespace, move Casting set to inside UseCastable * update naming * Castable XSD: add back optionality * allow statuses to be serialized better, and in all cases (process formulas once on creation) * Don't display effects for deserialized statuses * add tick default of 1, to make things saner/easier * Add operator support to lockables (for +=, -=, *= usage) * refactor how we apply / serialize statuses; simplify and avoid issues due to cleverness * ensure classes are capitalized and also /class doesn't hassle you * Update README.md * Update README.md * Ensure we redisplay equipment correctly on login (#129) (#157) * initial pass to replace nLua with moonscript * remove vestigial scripting code * initial pass to replace nLua with moonscript (#159) * initial pass to replace nLua with moonscript * remove vestigial scripting code * Full implementation of reactors * Implement spawning in scripts (and therefore from reactors) * update CHANGELOG * format fixes * fffff * fffff * fffff * Implement JumpDialog, FunctionDialog, Lua callbacks for text/option dialogs; Reload NPC / clear cookie slash commands; rename UserFlags->UserCookies / UserSessionCookies; improve script handling * Remove binaryformatter (unneeded) Redo time slightly to simplify / base on terran time Simplify Redis extensions Support for adding chrysalis mark Scripting fixes / new functions * bump version to 0.6.2; add TBD release information / changelog * Fixes to packet structure for merchants * Upgrade to .net core 2.2 * Fix for log4net in .net core 2.2 * Remove windows specific console settings * check in changes * update readme (#165) * update readme * Update README.md * Scripting updates & fixes roundup - August 2019 (#166) * scripting: ensure each script is a singular instance; fix case where we are missing xml for login maps * sanitize WorldData store keys; fix handling for global scripted dialogs * use normalized keys for worldstore/inventory items; SHA hashes for inventory item in json * make scripts use same normalize function * address PR concerns * Serilog & scripting updates (#167) * Remove log4net and replace with Serilog. * Begin cleanup of logging. Logs now go to separate files in `./logs` in the data directory, and only general logs appear in the console. Over time more logging statements will be updated to use Serilog's structured property format. * Add globally accessible logger `GameLog` with shims for converting existing log4net log lines, and adding new log support for Serilog. * Hybrasyl now shuts down correctly (and logs shutdown) when you close its console window, as opposed to just terminating instantly. * Re-add missing assembly info. * Fix some extremely subtle bugs related to Dialog / DialogSequences that surfaced from scripting (associate set incorrectly; jumpdialogs not always working) * After we process a dialog option - stop further processing of the dialog packet. This fixes a number of strange bugs when navigating through dialogs. * Scripting API / dialog updates (#169) * * Add convenience functions for dialog generation (NewTextAndJumpDialog, NewSimpleDialogSequence) * 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 * Fix showcookies command * Implement ClearCookie / ClearSessionCookie commands for clearing permanent / session cookies * Implement ephemeral store support for all WorldObjects * Add utility class for Scripting API for a number of convenience functions * Implement FindItem convenience function in WorldDataStore * Bug: EndDialog scripting function should not only end dialog, but also close open dialog windows * Add support for setting and clearing permanent and session cookies * February 2020 updates (#170) * * Add convenience functions for dialog generation (NewTextAndJumpDialog, NewSimpleDialogSequence) * 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 * Fix showcookies command * Implement ClearCookie / ClearSessionCookie commands for clearing permanent / session cookies * Implement ephemeral store support for all WorldObjects * Add utility class for Scripting API for a number of convenience functions * Implement FindItem convenience function in WorldDataStore * Bug: EndDialog scripting function should not only end dialog, but also close open dialog windows * Add support for setting and clearing permanent and session cookies * wefgjuiergjeuri * Update XSDs: use XSD2Code 5, add AllowDead to reactors / npcs (whether or not to work for ghosts) Add asynchronous dialog support Allow dialogs & scripts to use "this_script" to reference themselves Add templating support to async dialogs Add spawn activity logs Add slash command to support clearing dialog state Add castable scripting support Correct bug in spawn calculations where it would take longer for initial spawns to populate than usual Make spawn thread run faster and more often Correct effect checks for castables Implement dialog/sequence level support for globally registered and stored dialogs Improve scripting and castable support for arbitrarily assigned objects (async / global dialog) Add MultiIndexDictionary for id / name search for dialog sequences Properly check casting / board usage / etc for dialog sequences & async dialog requests * Clean up XML/XSD object model, schemas, etc; unify types and enums * Ensure optional fields stay null in XSD after updates Extend statuses to include OnExpire as a separate path for effects (Coma now uses this rather than a hack) Allow statuses to specify target/source and a script or builtin function for effect handling Implement status script / builtin function handling Spawn threads now run faster Mob death: don't create 0-gold piles Fix several bugs in grouping Refactor level up code to be clearer / DRY Fix handling of Coma in groups (e.g. works now) * remove sanity check from metafiles * fix inadvertent removal * update copyright notices * change mp/hp bonus on lvup to be closer to current reality * Loot and lootset implementation (#171) * lootbox additions; testing * more goddamn XML/XSD changes * move to singular namespace; break up objects; fix multiple XSD namespace/scoping issues * update XML, again * update signpost structure; remove XML validators (#172) * update signpost structure; remove validators as they were causing issues with multiple types * remove cruft * remove all examples; update changelog/readme; add systemd unit file * update to .NET Core 3.1; signboard fixes * readme updates * add .net core instructions * more readme updates * * Add <motd> to server config XSD (#174) * Clean up various exit handlers * Add missing forget spell handler * Remove config file creation, point users to community repo instead * * Add spawn debug commands (#175) * Fix several bugs in loot calculations * Fix null reference exceptions in loot calculations / mob death * Optimize monster spawn calculations, increase mob responsiveness * Fix bug where low-powered variance would cause unhandled exceptions * Ensure item variants specified in loot drop and serialize correctly * Refine handling of moon (there is no 0th moon) (#177) * * Address #153, and clean up unused types (#176) y * fix display issue where picked up items don't vanish on client side (#179) * fix mp/hp calculation on levelup; buff gains * add encryption options (#180) * add encryption checkery (#181) * update xsd to account for endpoints, add encrytion retreviebalkjfeugb * fixes for merge issues Co-authored-by: Cameron Moseley <cmoseley@gmail.com> Co-authored-by: Cameron Moseley <33741983+moseleyc@users.noreply.github.com> Co-authored-by: Michael Norris <16417541+norrismiv@users.noreply.github.com> Co-authored-by: Michael Norris <norrismiv@gmail.com>
- Loading branch information