Skip to content

Releases: GoMudEngine/GoMud

release-d407d16

01 May 03:19
d407d16

Choose a tag to compare

Added scripting function support for modules. Added "modules.follow.G…

release-539d4d7

01 May 00:07
539d4d7

Choose a tag to compare

Adding follow module includue

## Changes

- Adds missing `follow` include

release-539d2e6

01 May 18:32
539d2e6

Choose a tag to compare

Removing reference to ungenerate, no longer building file. Adding sta…

release-3b44018

01 May 18:23
3b44018

Choose a tag to compare

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

30 Apr 19:42
cbfd4b9

Choose a tag to compare

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

30 Apr 23:57
970be67

Choose a tag to compare

Fixing mapper to generate maps for all rooms, including disjointed on…

release-8ebb7e4

30 Apr 02:04
8ebb7e4

Choose a tag to compare

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

29 Apr 05:08
d7fc8ec

Choose a tag to compare

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

28 Apr 16:45
e37138d

Choose a tag to compare

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

28 Apr 02:44
c2d849e

Choose a tag to compare

Allow `character` command at low level as long as they already have a…