SkillAgentSearch skills...

Bashing

A Mudlet Bashing system for the MUD Achaea

Install / Use

/learn @AchaeaBashingScript/Bashing
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

A bashing script Achaea

Join the chat at https://gitter.im/AchaeaBashingScript/Bashing

What's this?

While bashing (or hunting NPCs) in Achaea is not overly complicated, it is sometimes useful to handle targets in a certain order instead of going through the seemingly random list from top to bottom. Different types of targets in an area make bashing even more cumbersome. To avoid having to target specific NPCs by number (which is error prone and slow), this project was born.

Requirements

  • Mudlet
  • gmcp enabled
  • if you are not using svo, wundersys or stock server side: a queuing system with a custom plugin

Downloads and Releases

The bashing script can be downloaded on the github release page of the project.

Stable releases are versioned with the versioning scheme vXX.XX where each XX stands for a number. The latest official stable release has a green tag on the left side.

Releases with an orange tag are pre-releases for testing. Those are automatically generated and not guaranteed to work. Additional to a numeric version number, the versioning scheme contains a short commit hash and a branch name. If you notice a problem with a pre-release, please include this information in your bug report.

Quickstart

  1. Download the Bashing.mpackage
  2. Import the package into Mudlet
  3. If using svo: Deactivate or delete the keybinding of F2 that comes with svo
  4. If not using svof, wundersys or stock server side queuing: setup the system table and configure kconfig bashing system <name>
  5. Use the alias kconfig bashing toggle to enable the script
  6. Start killing things. Acceptable targets must be killed at least once in an area to register them with the bashing script. The basher will use the "target" variable or the in game target as a fallback, if there is no item in the prio list. Optionally you can send the command "ih" and click the plus next to the mobs you want to add to the prio list.
  7. Keep bashing away using the F2 keybinding to work yourself down the list.

Priority management

New acceptable targets are always added to the end of a priority list of an area. To change this, you will need to change the order manually.

Use kconfig bashing prios to bring up the list of areas with priority lists. You can then click on an area name to bring the priority list for that area. To filter the list of areas, you can use kconfig bashing prios <partial area name>. If only one match is found, the list for that area is shown instead.

By using kconfig bashing prios <area name> or clicking on an area name in the area list, the script will bring up the priority list for the area. If you are in that area and have one of these denizen in your room, the script will order them from top to bottom. That means the topmost NPC type has the highest priority and the one at the lower end of the list the lowest priority.

To change the position of an item in the list, click the (vv) and (^^) arrows to lower or raise the priority respectively. You can also click on the (DD) to delete that NPC as an acceptable target.

Setting custom attacks

The system supports the setting of custom attack command. To do so, use the alias kconfig bashing attackcommand <your command>. You can use the slash (/) to separate multiple commands that should be used at once. For example 2 handed knights might want to use kconfig bashing attackcommand battlefury focus speed/kill.

Shield handling

Normal attacks

For classes with a quick and easy way to handle shielding NPCs, the basher has a very simple way to use it.

First turn the auto raze option on, using the alias kconfig bashing raze. This will enable switching the command used when the denizen you attack shields. Additionally you need to configure the command used for auto razing. That can be done with kconfig bashing razecommand <command>. You may use / as a separator for multiple commands. Use &tar as the place holder for the target, if it needs to be somewhere within the command.

Congratulations, you will now raze the shield of NPCs whenever needed.

Battlerage attacks

Each class has a battlerage attack to break denizen shields. The builtin simple and simplereverse strategies will use that ability, if needed and configured.

To configure the use of the ability, simple use the alias kconfig bashing rageraze. This will toggle the option. No other setting is needed.

This setting can be used without the normal attack, in combination (it will use the first available one) or the normal attack without the battlerage ability.

Fleeing

The basher supports 2 ways to flee from dire situations, be it a stronger NPC entering your room, a tell you need to concentrate to answer or luring NPCs into another room. The basher will always try to recognize the direction you entered a room from and flee into that direction. If that exit is not available, it will use the direction it recorded before. It will issue a warning in that case. You can use the alias flee <command> to set that manually.

The first way is the manual way. Simple press the keybinding F3 to stop attacking and move ASAP.

The second way is automated and may be activated, if the average damage you have taken in this room between 2 attacks is higher than you have at the next attack with an configurable threshold. The basher will also issue a warning, if average the damage between 2 attacks is higher than your current health and another threshold. For the configuration see the Configuration section.

Support for groups

The Basher has a generic support for group bashing built in. However since group communication is very different between different groups, there are no triggers or party/group calls or custom battlerage strategies included.

This document will list some general things that may be useful to have or do when hunting with a group.

Targetting

The system supports a manual targetting mode. That means it won't change the target list in any way. It won't add things, remove them or change its order, while in manual mode.

That means it's save to add targets in the order as they are called by the party leader to the list.

To activate that mode, use the alias kconfig bashing manual to toggle manual targetting.

When in manual targetting mode, you can use the keneanung.bashing.manuallyTarget() function to change the target to a denizen of your choice by giving it a denizen ID to switch to.

If your current target leaves, it will wait for a time (default 2 seconds), for a new target to continue attacking. If a new target is set within that timeframe , the basher will continue attacking. You can customize the time with the command kconfig bashing waitfortarget <numberofseconds>.

Battlerage strategies

Depending on the class and composition of the group, it might be useful to utilize afflictions, defense or critical battlerage abilities. That is possible through custom battlerage strategies. Please refer to the scripting section about those.

Affliction tracking

The basher allows for denizen affliction tracking through the functions keneanung.bashing.addDenizenAffliction(id, affName, raiseEvent) and keneanung.bashing.removeDenizenAffliction(id, addName, raiseEvent). Those functions echo the affliction to the user and associate the affliction with the target. That way you can access the current affliction state of your target with keneanung.bashing.targetList[keneanung.bashing.attacking].affs, of a general denizen with keneanung.bashing.getAfflictions(<id>), or check a denizen for a certain affliction with keneanung.bashing.hasAffliction(<id>, <affname>) (for example in the custom battlerage strategy for critical hits).

Configuration

The current configuration can be shown with the alias kconfig bashing. All items in red are clickable and will either toggle the item or set the alias to the command line, so you only need to add the add the value you want to set.

The basher stores certain settings for each class, so remember to tweak your configuration when switching to a new one!

System use

The basher uses external systems for queueing and displaying warnings and notifications. It comes with support for 3 possible systems out of the box and can be extended via plugins. See [the scripting section]](#support-for-other-systems).

Valid out-of-the-box settings are:

  • auto (default) which tries to find out automatically, which system is available
  • svo for using the svof system
  • wundersys for using the wundersys system
  • none for using stock server side queueing and plain notifications

If you add your own system table, this option becomes available as a setting as well.

Warn and flee thresholds

You can enable and disable automatic fleeing when the health falls below a certain threshold with the alias kconfig bashing autoflee and the configure thresholds with kconfig bashing fleeat <health amount> and kconfig bashing warnat <health amount>.

You may specify values as a flat amount, a percentage of the maximum health (ending the config value with a %) or as a multiple of the damage taken in the room (ending the config value with a d) as the security threshold (amount of health left after subtracting the current damage from the current health).

The battlerage strategies

The script comes with three strategies to use battlerage abilities: none, simple and simplereverse. Each one will be descr

View on GitHub
GitHub Stars18
CategoryDevelopment
Updated6mo ago
Forks11

Languages

Lua

Security Score

82/100

Audited on Sep 30, 2025

No findings