Releases: GoMudEngine/GoMud
Releases · GoMudEngine/GoMud
release-d407d16
Added scripting function support for modules. Added "modules.follow.G…
release-539d4d7
Adding follow module includue ## Changes - Adds missing `follow` include
release-539d2e6
Removing reference to ungenerate, no longer building file. Adding sta…
release-3b44018
Javascript Linting/Analysis of JS files (#361) # Description This adds a makefile target to run a check on js files through jshint: `make js-lint` Experimented with a couple other tools such as `eslint` but they proved cumbersome and overly strict, requiring annotations in script files to direct behavior more and more. Things like spacing, undefined functions (because they were defined in a .go binding) etc. were problematic. Settled on `jshint` since it's looser in its rules. Primarily we are testing for: * syntax errors that will break execution * Incompatible keywords * "good" practices such as semicolons at the end of lines. There is some filtering out of noise from the docker image (npm error, npm warn, etc) that can be ignored. Otherwise, exits with code 1 if errors are detected, and reports errors. This _should_ allow us to implement in CI/CD processes. ## Changes - `js-lint` make target. - Handled existing js errors reported (a lot). ### Example Output **With errors:** ``` √ ~/dev/GoMud % make js-lint _datafiles/sample-scripts/spells/harmmulti.js: line 10, col 27, Expected ')' and instead saw 'eActor'. _datafiles/sample-scripts/spells/harmmulti.js: line 10, col 44, Expected an assignment or function call and instead saw an expression. _datafiles/sample-scripts/spells/harmmulti.js: line 10, col 72, Missing semicolon. _datafiles/sample-scripts/spells/harmmulti.js: line 10, col 72, Expected an identifier and instead saw ')'. _datafiles/sample-scripts/spells/harmmulti.js: line 10, col 72, Expected an assignment or function call and instead saw an expression. 5 errors make: *** [js-lint] Error 1 √ ~/dev/GoMud % ``` **Without errors:** ``` √ ~/dev/GoMud % make js-lint √ ~/dev/GoMud % ``` ## Links https://github.com/GoMudEngine/GoMud/issues/342
release-cbfd4b9
Changing handling on all-modules.go and the 'go generate' feature (#355) # Description When forking the repository, and running "go generate" modules/all-modules.go is created or updated, but since it was previously tracking in the repository it's then added to unstaged files for commit. This is not optimal, as it could potentially mean someone would push their custom all-modules.go file to the main repository. It's already in .gitignore, but since it was already tracked this is not enough to have ti not appear as a changed file when running "go generate". ## Changes - Added a default modules/all-modules.go to the repo - Removed all-modules.go from .gitignore - Removed references to 'go generate' in the Makefile - Removed cmd/generate/_all-modules.go - Added proper sorting of modules in modules-import.go
release-970be67
Fixing mapper to generate maps for all rooms, including disjointed on…
release-8ebb7e4
Mob pathing additions (#357) # Description Adds additional scriptability around pathing, and fixes some small bugs and quirks. ## Changes - Add scripting documentation for actors and mobs - Rewrote parts of lakeworker script to use pathfinding. - Improved lakeworker script to do a little more while pathing. - Added script event functions for various stages of a path. - Fixed misbehavior of mob `shout` command. - Updated command processing so that mobs subject to similar waiting rules as players when commands are queued with delays. - Added caching for mobs that cannot find a path home. - Mobs that can't go home receive an adjective `lost` - Fixed some conversation bugginess, added some caching - Moved `Rodric` to frostfang folder, where he should be. - Improved Rodric scripting slightly to have some more interesting behavior.
release-d7fc8ec
Follow module (#354)
# Description
This removes the old `follow` command and creates a new module called `follow` with extended functionality.
It also adds a `MobIdle{}` event that can be handled for when mobs are idle.
Mobs out of alignment with players won't let players follow them.
## Changes
- Added mob and user `follow` commands
- Includes `unfollow`/`follow stop`, and `lose`/`follow lose`
- Players can now follow mobs, not just other players.
- Mobs can now follow players/mobs, a behavior that did not exist previously.
- Added helpfile, keywords, etc. into module
- Removed character `followers` slice and functions that use it.
- Adjusted listener adding logic for default "add to end" behavior
- mob commands now look for any keyword aliases that are defined to use.
- Fixed up some bugginess with keyword aliases that was appending a space to the end, causing things to break.
- Added `MobIdle{}` event and handlers. Moved some of the existing mob idle calculation to a new handler function.
- follow module abort MobIdle{} event if mob is in the middle of a follow behavior.
## Links
https://github.com/GoMudEngine/GoMud/issues/348
release-e37138d
Add Docker package workflow (#347) # Description Add Docker package workflow. ## Changes Build and push Docker image to GHCR with tags: - `latest` for master branch. - `release-*` or `v*` for Git tags, depends on the Git tag format. - `sha-<sha>` for Git commit hash, only with pull requests, master branch and Git tags. For pull request, only ensures that the docker build succeeds, does not push the image. See: docker/build-push-action#751
release-c2d849e
Allow `character` command at low level as long as they already have a…