Random Tidbits: BloodBoil and Apocalypse mechanics

Information and updates for all other projects by Black Omen Productions (besides Shadow Empires): Namely Codename: MetalStorm, Anti-Balance, Ultimate Fixer and all versions of XyRAX

Moderators: Nefarius, Joel, Doombreed-x, Vendanna

User avatar
Nefarius
Retired Admin
Cherub
Posts: 11607
Joined: Sat Jun 15, 2002 8:13 pm
Location: Where the blood forever rains

Hand-picked

Random Tidbits: BloodBoil and Apocalypse mechanics

Post by Nefarius » Mon Jun 16, 2008 9:27 am

Both of these spells are borrows from D1 (the former being only in the demo). They function similar, though not entirely so. The mechanics involved are more complex and they will be discussed here. Notice, that the values involved here are purely test material and will change in the future when the entire environment is complete (future as in, some very distant time). The concept of the mechanics themselves will however most likely remain as given in this topic.


First of all, Apocalypse is a spell that works similar to a "castable holyfire/holyfreeze/holyshock", but it has nothing in familiar with these aurae, its just a general way to describe it.

When you cast Apocalypse it checks for all enemy units within a radius and within your line of sight (in then original Diablo it didn't but this was later changed in Hellfire). When a monster is hit by the effect, it first calls the blocking routine, if the effect is blocked the monster will still take damage, but considerably less then it would normally (this changes with the power of the spell, but varies from only 20-50% of the full damage).

Next the distance from the epicenter (ie the caster) and the target is checked, resulting in.

malus = max( min( 100 - penalty * distance / radius, 100 ), 1);

The penalty changes with the powe of the spell. Finally this penalty is applied to the damage dealt. (This damage is unresistable, like the original was).


Blood Boil is a semi-defensive spell, working somewhat like thorns, but it doesn't care about physical damage, it will trigger whenever a monster touches you (ie any melee attack that hits).

First of all, the spell desc displays +x to blood temperature, this is what foremost determines the power of the effect (rather obvious).

BloodBoil first checks whenever the unit can be effected by it, units that can be effected by bloodboil are all those that can actually bleed (which exludes formost all skeletal creatures, but also some others).

Next it determines the divisor for the effect. The divisor is equal to: 1250 for special monsters (champions, bosses, quest units etc), 2500 for players and mercs and 5000 for regular monsters.

The damage dealt by bloodboil is equal to:

damage = maxlife * max( min( bb * divisor / (bb + divisor), 100), 1) / 100;

This value is dealt to the attacker in the form of magic damage (which can be resisted).

Next, the damage dealt is also factorized as the duration of the bloodboil effect, this effect drains life (damage / 64) over damage-frames.

During this time the unit is volatile, red, with a boiling smoke overlay and constantly bleeding. If the unit dies in this state, it will explode.

The explosion is a friendly fire effect, thus damaging everyone around. This explosion deals 25-33% of the units maximum life as damage against all units within a 5 cell radius. (you don't gain experience from this secondary effect [intentional]).
Last edited by Nefarius on Mon Jun 16, 2008 9:32 am, edited 1 time in total.
''(...) The game can basically be considered unhackable. '' - Blizzard Entertainment (30th May 2000)
Black Omen Productions | MetalStorm: Progress Report | Screenshots

Return to “Mods by Nefarius”