AdvancedCombat

AdvancedCombat is currently disabled

(updated for v1.2)

The goals

Since v1.1 Catacombs has an option to allow the selection of a new set of combat mechanics for fighting while in dungeons. The goals of the new mechanics is to allow intesting boss fights, to encourage team work, to introduce some skill into the combat, and to create different roles for the members of a party to fulfill

The Caveats

These changes are relatively complex and it's very unlikely I've got the right balance on my first attempt. It's also likely there are some out and out show stopping bugs in there. So I consider the first release of this code as alpha code (hopefully) ready for play testing. The advanced combat system is off by default and has to be switched on specifically by someone who wants to try it and give feedback.

Combat Mechanics

Here are details of the combat mechanic changes in Catacombs. I've included the reasons behind the change and also the intent.

Attack Speed

"The hasty stroke often goes astray". The first mechanic change is to reduce the attack speed of all players and monsters. This was done for 2 reasons. Firstly to avoid players just mashing the buttons like mad during combat, and secondly to bring the melee (sword) damage into line with the ranged (bow) damage.

A player can only make one melee attack every 1.9 seconds.If you attack more quickly than that the damage won't count, you'll be told your swing was 'wild' and you'll get half the swing time added to the timer as a punishment. You'll get a report after each swing showing you how well you did.

  • 1.889 1.9 WILD Zombie-1(100%) -> Steeleyes - This means the swing too fast (wild)
  • 1.955 1.9 Zombie-1(80%) -> Steeleyes - This was a good hit on the 1st level zombie

As you can see you also get a percentage showing you the target's health after your damage. You will also see the name of the creatures primary target. You can use the extra time between swings to run around in panic or block which ever you prefer.

Attacks with bows aren't restricted because the damage is reduced for a quick shot naturally in the game. However the attack timer still gets reset on for each bow shot so that mixing arrows and sword swings should output about the same amount of damage as either by itself.

Aggro

You think zombies are dumb, but let me tell you they have long memories. When advanced combat is on they will remember who's been the most annoying and will target them. This mechanic change is intended to introduce the role of 'tank'. Find someone with a knack for annoying monsters and who doesn't mind getting beaten up and let them stand toe to toe with all the monsters.

Golden, wooden, and stone tools generate more threat than diamond and iron ones respectively. The intent is that a tank using a golden or wooden sword should be able to keep hold the attention of a single creature that is being attack by others using diamond swords. The intent is that a single creature can be most quickly and efficiently killed by a team where a tank holds the aggro with a wooden or golden sword and everyone else hits it with arrows or diamond swords.

Axes generate 'splash threat'. Axes aren't as good as swords at holding the attentions of the monsters, but they generate damage and threat on other nearby creatures too. The intent is that a tank with a wooden or gold axe should be able to hold the aggro on a group of 3 or 4 monsters while everyone else kills the one the tank is hitting. Observant players can spot the tanks main target because it gets knocked back and the other creatures hit by the axes sweep don't (although they should flash red to show they've been hit by an axe swing).

The durability of axes and wood/gold weapons have been changed for balance.

Quiting, teleporting, climbing into bed, stepping into a portal or getting killed all should remove players from the threat list, and ensure they get no cash or exp.

Threat can be increased by taunting a creature and hitting it with a spider eye or bone. The item is consumed in the process.

Threat can be reduced significantly but feeding a monster rotting meat.

Armour

Metal armour reduces the damage players do. The intent is that only the tank(s) should wear diamond or iron armour, everyone else should be in leather or nothing. The mechanic is currently -3 damage per swing if you have any diamond armour on, or failing that -2 if you have any iron, I can make this more if everyone is still in armour. This will show up in a combat report like this:

  • 1.955 1.9 armour(-3) Zombie-1(60%) -> Steeleyes - Wearing some diamond armour reduced the damage by 3

Healing

Fishing rods to allow players to heal other players during combat. This is a little strange but appears to work okay. The intent is that a healer should be able to cast a fishing line at the tank and heal them by 1 heart every 2.5 seconds. This runs off the same timer as the bow and weapon swings so players can interchange healing and attacks if they like. Healing causes a large amount of threat on all monsters near the person being healed. The intent is that a tank with a wooden sword should be able to keep a single target away from a healer casting heals every 2.5 seconds. The intent is that the healer will have to watch out and slow down the heals against a group when the tank is using a wooden axe.

Food

The fights are longer than in traditional Minecraft so the amount natural regeneration a player heals during combat is significant. The intent is that all players should snack regularly in between combats so they take advantage of this boost.

Team work

Rewards for killing monsters (cash and experience) are given (in full) to all those on the monsters threat list. This change is designed to encourage team work. Zombies hit my three people really do have three times as much cash in their pockets. The intent is that a group sticks together and systematically focuses on each creature in turn.

Graves

One massive problem during play testing was players loot getting dropped on the dungeon floor every time they die. The avoid this clutter and the associated rotation of equipment (and the hassle of giving players their stuff back) a configurable charge is now made on death to restore players items to the right slots. If the player can't afford the charge their junk is dropped at the grave in the usual way.

On death inside a dungeon a configurable percentage of the players experience level (used for enchanting) is kept.

Monsters

Monsters have a lot more hit points so that the battles last longer. Also they get even more hit points if there are more players around. Solo players generally fight solo mobs (1st level), but new mobs are tougher when there are more players near. A monsters level is shown after it's name on in the combat reports. The base hit points for each monster is based on it's type. The intent is that typical creatures like zombies should take 5-10 hits from each member of the group before they die. Creepers should only need one hit (or less) from each party member before they die.

Because the monsters take much longer to kill (even with a group) additional restrictions have been added to reduce the number of monsters that spawn in dungeons. The first is that monsters won't spawn in a dungeon if no players are nearby. This is controlled in the config file with Admin.Spawn.Radius=20 and Admin.Spawn.Depth=8. The intent is that levels above and below the ones the players are on should populate. The second mechanism is designed to restrict the number of monsters per square meter. This is controlled by Admin.Spawn.Monster.Radius=15 and Admin.Spawn.Monster.Max=3 which means don't spawn a 4th monster is there are already 3 within 15 blocks of the spawn location. This monster maximum is also scaled by the number of players near by so that would be 6 for party of two. Once the monsters have spawned they are free to wander off and get together in larger groups so watch out.

To Do

  • Need to make the monsters configurable.
  • Use the Advanced combat scheme to make complex boss fights.
  • Have an option to allow the advanced combat scheme outside dungeons.
  • Create a new spawning mechanism to allow more wolves, creepers and powered creepers to spawn in dungeons.

Change Summary

  • Player/Monster attacks are slowed down, and hasty attacks miss
  • Monsters select targets based on threat tables
  • Monster hit points are boosted
  • Monster hit points are boosted when they are more players around
  • Monster spawns are restricted by numbers and range
  • Golden,wooden and stone weapons generate more threat
  • Golden and wooden swords and axes have extra durability.
  • Axes generate splash-threat and damage.
  • Players in armour deal less damage
  • Healers can using fishing rods to heal (they have extra durability)
  • Experience and cash are given to the group
  • Cash is taken at death to restore the players equipment to them