Quest automatically starts upon player entering the game, and ends after the reward is received. In addition your current quest will be also ended if you leave the game.

This Quest is only available in Expansion Ladder games on Hell difficulty for characters that have reached level 60 or higher.

To receive the reward player has to type word reward in game chat (do not leave the game!). The reward can’t be obtained if the duration of your Blood Rush is less than an hour, or you haven’t killed enough monsters. In addition the reward will be given automatically if you exit the game, (even if disconnect occurres) after an hour mark was bypassed.

The reward consists of some amount of experience in addition tu rune from Pul to Lo or 1000000 if the result was really poor.

During each blood rush player is able to use pause (no more than once per game).

During the pause Blood Rush time counter stops ticking, which gives the player time to rest without fear of being idle.

To enable pause you must type brpause in game chat.

Pause will be disabled after player moves or uses any skill, under the condition that at least 5 seconds passed since Blood Rush was paused. (This means that moving during the first 5 seconds of the pause will not trigger it off). In addition pause will be automatically disabled after 5 minutes (7 minutes if character has Overwhelming Rage (Character Advantage)) since Blood Rush was paused.

Below is the detailed description of how this quest works and how the reward is calculated.

During the quest player kills monsters.

“Player kills” means that player himself, his Summon (Shadow Master, Grizzly, Clay Golem, traps, etc.), Revived or Mercenary do the killing.

“monsters” are any hostile creatures with the exception of:

- Other players, their Summons, Revives, and Mercenaries

- Diablo Clone, Uber Izual, Lilith, Uber Duriel

- All the monsters in Uber Tristram location

- Talic, Madawc, Korlic (the Ancients)

Player has 3 hidden features – points, party_points and time.

in “points” the number of points that you get with your own hands is stored.

in “party points” the number of points that you get when your party members kill the monsters is stored.

in “time” the elapsed time in seconds since the beginning of the quest is stored.

Keep in mind that game’s maximum lifespan is 3 hours; hence, the time value may not exceed 10800.

Upon monster’s death a number of monster_points is generated.

To this number the bonuses are first applied:

- 6.25% for a level 99 character

- 6.25% for those characters that have Artificier Character Advantage and are wearing full Orphan’s Call.

- 4% for those characters who have Dreadful Chop, Flesh Smasher and Polearm Expert Character Advantage and are wielding two-handed Axes, two-handed Hammers or Polearm/Spear weapon type respectively.

These bonuses are multiplicative. This means that if, for example, you are a level 99 character, have Dreadful Chop and wield a two-handed axe, monster_points will be multiplied by 1.0625 * 1.04 = 1.105.

After that:

“monster_points” value is added to the “points“ value of the player who killed the monster, under the condition that player was not dead, dying or further than 80 conventional units from the target when It died.

To the “party_points” value, “monster_points/2” is added to each player who was in the monster killer’s party, if at the moment of monster’s death this party member was not dead, dying or further than 80 conventional units from the target.

80 conventional units is the same distance as the maximum range of experience gained by the party members. In other words – if you gain experience when your party members kill the monsters, then you will receive “party_points” as well. Visually this distance can be represented as a distance between the Waypoint in Kurast Docks and the middle of the bridge between Meshif and Ormus.

Now let’s see how “monster_points” are calculated. To do this, first we introduce the function of an argument rand (max). Value of this function is random (uniformly distributed) integer ranging from 0 to max - 1 (inclusive).

- Код: Выделить всё
`monster_points = players_count_multiplier *`

monster_type_multiplier * (min_hp + rand(max_hp - min_hp + 1)) / 16

Where:

1) Min_hp and max_hp – are minimal and maximum base health for the selected class of monster of given level. In other words – for each Fallen (example) of the given level both these values are the same. Regardless of how many players are in the game or either this Fallen is a boss or a regular monster. You can look for these values on Arreat Summit and other related recourses.

2) players_count_multiplier changes its value depending on how many players are there in the game:

- 1, if the number of players is less than 2

- 1.07, if there are 2 players in the game

- 1.1, if there are more than 2 players in the game

3) monster_type_multiplier - is the value that depends on the monster type. It is equal to:

- 1, for normal monsters

- 1.5, for minions

- 2, for unique monsters (common random bosses)

- 8, for Superunique monsters (Bishibosh, The Countess, Geleb Flamefinger, Lord De Seis, etc.)

- 2, if monster is – Champion, Ghostly or Fanatic.

- 4, for possessed monsters

- 0.5 for Berserkers

- 1 in all of the other cases.

These multipliers match the number of times, monster’s health points is increased, comparing to of normal ones. (with the exception of Superuniques)

Let us now consider what happens when player tries to pick up his award with the “reward” command.

At first total_points are calculated:

- Код: Выделить всё
`total_points = | points, if party_points / 8 > points`

| points + party_points, if party_points / 8

<= points

In other words, you will not get your reward if all that you were doing during Blood Rush was following other players and passively leaching experience.

If character is on the Hardcore mode, then his total_points are additionally increased by 6.25%.

Verification will be made further, that checks if total_points < 1000000 or time < 3600, in this case player will not get a reward and a "You must spill more blood!" message will popup.

Let’s introduce the function of three arguments dm (x, start, max):

- Код: Выделить всё
`dm(x, start, max) = | x, if x < start`

| start + (x - start) * (max - start) / (x + max - 2 * start), if x >= start

This function is linear up to the start value, and thereafter the value of its growth is gradually slowed. The value of this function does not exceed max.

Let’s introduce the function of 2 arguments pow(x,y), having a value of x to the power of y(x^y).

When calculating reward, “reward_value” is calculated first:

- Код: Выделить всё
`points_factor = points_multiplier * total_points / 6666666`

intensity_factor = intensity_multiplier * total_points / (1000 * time)

reward_value = pow(dm(points_factor, 0.95, 1), 1.57) *

dm(intensity_factor, 0.9, 1) * 100

reward_value – is an assessment of the value of your reward in Pul runes.

points_multiplier and intensity_multiplier - values, that depend on character class and skills he uses.

If player receiving the reward has Overwhelming Rage (Character Advantage), then reward_value will be increased by the following value:

- Код: Выделить всё
`0.47 + MAX(0, character_level - 80) / 100`

If player receiving the reward has a character without teleport, then points_multiplier = 1.1, else points_multiplier = 1.

“Character without teleport” means that given character have not even once used skill Teleport in current game.

New let’s have a look on what values intensity_multiplier can take.

1) Amazon

- If Amazon has Teleport, than intensity_multiplier = 1

- Otherwise, if base level (without any bonuses, only points invested in given skill) of Lightning Fury or Charge Strike skills is higher than 1, then intensity_multiplier = 1.1

- Otherwise, if Amazon is using skills like Strafe and Multishot, then intensity_multiplier = 1.3

- Otherwise intensity_multiplier = 1.8

2) Sorceress

- If base level of Hydra or Enchant or Static Field skills is 20, then intensity_multiplier = 1.25

- Otherwise intensity_multiplier = 1

3) Necromancer

- If necromancer has Teleport, and base level of Poison Nova skill is higher than 1, then intensity_multiplier = 1

- Otherwise, if necromancer doesn’t have Teleport and base level of Poison Nova is higher than 1, then intensity_multiplier = 1.3

- Otherwise, if Necromancer has Teleport, then intensity_multiplier = 1.3

- Otherwise intensity_multiplier = 1.4

4) Paladin

- If Paladin has Teleport, then intensity_multiplier = 1

- Otherwise, if base level of Blessed Hammer and Concentration is higher than 1, then intensity_multiplier = 1.3

- Otherwise intensity_multiplier = 1.8

5) Barbarian

- If Barbarian has Teleport, then intensity_multiplier = 1

- Otherwise if Barbarian used Whirlwind skill at least once in current game, then intensity_multiplier = 1.3

- Otherwise intensity_multiplier = 1.66

6) Druid

- If druid has Teleport, then intensity_multiplier =1

- Otherwise, if base level of Tornado is higher than 1, then intensity_multiplier = 1.3

- Otherwise intensity_multiplier = 1.75

7) Assassin

- If Assassin has teleport, then intensity_multiplier = 1

- Otherwise, if base level of Lightning Sentry is higher than 1, then intensity_multiplier = 1.05

- Otherwise intensity_multiplier = 1.8

Let’s introduce the function of one argument floor(x). The value of this function is the highest integer that does not exceed x. For example, floor (1.5) = 1, floor (4.99) = 4, floor (100) = 100.

Let’s now calculate rune_value:

- Код: Выделить всё
`rune_value = pow(2, floor(ln(reward_value) / ln(2)))`

ln (x) - is the natural logarithm of x.

(In fact, the code uses a different method of calculation; this formula is given for convenience and greater clarity.)

rune_value can be 1, 2, 4, 8, 16, 32 and 64. This numbers represent the price of certain rune in Pul runes. (from Pul to Ohm).

Then one of the three options of reward is randomly chosen:

- If reward_value >= 2, then player can be rewarded with the rune that costs (in Pul runes)

rune_value

rune_value / 2

rune_value * 2

Which means that if for example you score a rune_value = 8 (Ist), you can be rewarded with either Mal, Ist or Gul.

- If reward_value < 2, then player will be rewarded with either Pul, Um or 1000000 gold (consolation prize)

In other words, when granting rewards there is always an element of fortune. Other things being equal, the maximum income can reach four times the minimum income.

Each of the three options has a certain probability. In order to find it, the following system is being solved:

- Код: Выделить всё
`| 0.5 * rune_value * p1 + rune_value * p2 + 2 * rune_value * p3 = reward_value`

| p1 + p2 + p3 = 1

| 0 <= p1 <= 1

| 0 <= p2 <= 1

| 0 <= p3 <= 1

Where p1, p2, p3 are probabilities.

In general, the solution of this system can be represented as a line segment in three-dimensional Euclidean space. Therefore, random point on this segment is chosen as a result.

If reward_value is < 2, then first equation of this system is turned to rune_value * p2 + 2 * rune_value * p3 = reward_value (gold is consider to be of a zero value).

After all of this is done, character receives the reward. Rune will be placed to the character’s inventory or on the ground near character’s feet if there was not enough space in the inventory.

Gold will be added directly to the Stash. If gold cannot fit into the Stash, then the residue will be placed in a character’s pockets. If the pockets are full, then the surplus will be lost.

If character has Overwhelming Rage (Character Advantage), then with each reward he additionally receives 100000 gold.

A text message will pop up after that, will congratulate the player and tell him what kind of reward he received.

If player receives the maximum possible reward_value rune then he gets an additional massage that says:”You are lucky!” When reward_value is at its minimum, player gets an additional massage that says:”You are unlucky!”

In addition to that player gains some experience. This experience is equal to (despite the character’s level) rand(2 * total_points / 3). If player has Overwhelming Rage (Character Advantage), then this bonus is multiplied by 1.15.

Upon receiving the reward, player’s points, party_points and time are reset to zero.

Attention!

To be able to see all of the message pop ups on our server you must :

- turn off Auto Squelch Noisy Chat Messages option in C3PO (tab Key Config, group More Auto Options).

- turn off Auto Corpse Mode option in C3PO (tab Key Config, group More Auto Options).