DotA v7.04c5


Tree Grab reduced limited number of attacks from 6 to 5 
Ring of Basilius MP regen aura decreased from 1.5 to 0.75

Octarine Core
Recipe changed. Now requires Perseverance (1650), Soul Booster (3000). Total cost decreased from 5050 to 4650 
Now provides +625 HP, +625 Mana, +8 HP Regeneration, 175% MP Regeneration and 25% Cooldown Reduction

Arcane Boots
No longer can be disassembled
Recipe changed. Now requires Boots of Speed (500), Ring of Basilius (425) and Recipe (375). Total cost 1300 
Now provides 45 MS, 1.5 MP Regen Aura and Replenish (Active)

Mana Drain
No longer instantly kills illusions
No longer drains mana if lost primary target 
Now damages enemies for 100% of the mana drained
LVL 25 right talent from Mana Drain Deals Damage to +100% Mana Drain Damage

Improved anti map hack system
Fixed bug on Disperser counting spell blocks on self cast and affecting magic immune enemies
Fixed Winter Course not counting hero as killer while target killed by aliies 
Fixed Reaper's Scythe not providing HP/MP regen stacks on Rubick (if Rubick killed anyone), and no longer provides regens if target is illusion. Also now counts total provided regen instead of killed targets
Fixed The Swarm latching on invisible units
Fixed Finger of Death not providing any charges for Rubick
Fixed Necromastery souls gain exceeding limit
Fixed death not properly registered if Reaper's Scythe e.g. casted during Wraith Form 
Fixed Blink Fragment's cast range now equal to Blink's cast range. If Blink is not learned, Blink Fragment will have 750 (Talent 850) cast range by default
Fixed Ghost Shroud not applying self restoration amplification
Fixed Mana Drain not interrupting caster upon block
Fixed Vengeful Spirit being invulnerable upon taking illusion's position after respawn
Fixed AoE Press the Attack and Surge not providing effect in AoE on selfcast
Added Custom Day/Night model which can be activated by -light 6 command
Arcane Supremacy now provides same cast range for allies as for Rubick (from 25/50/75/100 to 75/150/225/300)
Aghanim's Scepter Assassinate no longer adds 5% bonus damage equal to targets max HP instead now Applies attack damage
Rolling Boulder now applies invulnerable after the effect delay and while rolling
Recoded all force movements so now cyclones can interrupt them properly
Remote Mines now counts spell damage amplification
Supernova now turns night to the day while being sun and its ends if caster dies or spell effect ends, same conditions for Dark Ascension and Eclipse. (thanks to Vordik)
Fountain now deals 25% splash damage in a 250 radius around the target
Corrected day/night time before creep spawn. Now turns from night to day gradually than instantly
Mortal Strike now grants full charges upon killing enemy hero
Cyclones no longer can be applied on Flaming Lasso affected targets but deals damage and purges
Shiva's Guard Restoration Reduction aura increased from 25% to 40%

Top lane big camp now easier to pull
Beggar Todd moved inside fountain area
Towers now invulnerable till creep spawn
Increased hero max level from 25 to 30 
Increased lane creep deny experience for the denied team from 40% to 50%
Increased creep denying gold bounty from 20% to 25%
Increased hero kill bounty from 110 + (KilledHeroLevel × 8) + KillStreakValue to 125 + (KilledHeroLevel × 8) + KillStreakValue
Increased bonus gold percentage for neutrals stacked player from 35% to 50%
Rescaled kill streak gold bonus from 100/135/170/205/240/275/310/345 to 75/150/225/300/375/450/525/600
Increased required total exp for each level from 230/600/1080/1660/2260/2980/3730/4510/5320/6160/7030/7930/9155/10405/11680/12980/14305/15805/17395/18995/20845/22945/25295/27895 
to 240/640/1160/1760/2440/3200/4000/4900/5900/7000/8200/9500/10900/12400/14000/15700/17500/19400/21400/23600/26000/28600/31400/34400/38400/43400/49400/56400/63900
Double Damage Rune renamed to Amplify Damage Rune. Base damage bonus decreased from 100% to 80%. Now also provides +25% Spell Amplification.

Reverted Attribute Bonus to every hero
Permanently grants the hero 2 of all attributes when leveled up
Can be leveled up a total of 11 (5 on Invoker) times

Bounty-Exp for neutrals
Alpha Wolf bounty from 30-36 to 34-36 and experience from 70 to 60
Wolf bounty from 18-21 to 20‒24
Wildkin bounty from 12-16 to 18‒20
Ancient Black Drake bounty from 31-40 to 39‒45 and experience from 49 to 95
Kentaur Khan bounty from 53-62 to 56‒62
Kentaur Outrunner bounty from 16-19 to 18‒20

Divine Rapier
Now also provides +25% Spell Damage

Recipe changed. Now requires Diffusal Blade (2500), Eaglehorn (2800) and a 400g recipe. Total cost unchanged
No longer grants +45 Damage
Agility bonus increased from +20 to +50

Octarine Core
Recipe changed. Now requires Kaya (2050), Soul Booster (3000). Total cost decreased from 5275 to 5050 
Now provides +16 Intelligence, +500 HP, +500 Mana, +12% Spell Damage, 16% Manacost Reduction, +24% Spell Lifesteal Amplification and 25% Cooldown Reduction

Ethereal Blade
Recipe changed. Now requires Aether Lens (2275), Ghost Scepter (1500) and a 1600g recipe. Total cost increased from 4650 to 5375
No longer provides any of Kaya-based bonuses
Now provides +10 All Attributes, +300 Mana, +150% Mana Regen and +225 Cast Range

Rod of Atos
Recipe cost decreased from 850 to 350
Intelligence bonus decreased from 24 to 15

Recipe cost decreased from 700 to 450
Intelligence bonus decreased from 24 to 15
Strength bonus increased from 14 to 15
Agility bonus increased from 14 to 15

Guardian Greaves
No longer provides +250 Mana
Now provides +1.5 Mana Regen
Guardian Aura now also grants +1.5 Mana Regen to allies and +5 to allies below 25% Health

Gem of True Sight
Added Reveal active ability
Exposes and grants True Sight over units within a targeted area for a short time
Cast range: 300
Radius: 300
Duration: 4
Cooldown: 12
Notes: Creates a temporary aura at the target area that exposes enemies and provides True Sight over them. The aura's modifier lingers for 0.5 seconds

Rot Aghanim Upgraded now also reduces enemy heal restoration by 25%

Meat Hook
Now treat illusions as creeps
Now hero countrol disabled untill backdragging

Corrected Blink Fragment illusion damage dealt/taken: 75%/200%
Reduced Mana Void mana cost from 100/200/300 to 100/150/200
LVL 15 right talent +0.6% Mana Break max mana burned per hit increased to +1%
LVL 20 right talent +0.15 Mana Void damage per missing mana increased to +0.2

Counterspell Ally Talent
Now shell similarly creates an illusion of Anti-Mage upon reflecting an enemy spell, illusion damage dealt/taken: 75%/100%
Increased shield duration from 1.2s to 3s and reduced illusion duration from 7 to 4

Tree Grab 
Now has limited number of attacks: 6
Building Attack Damage Bonus: from 40% to 40%/55%/70%/85%
Attack Damage Bonus: from 40% to 40%/60%/80%/100%
Cleave distance from 600 to 700

LVL 15 right talent from +400 Health to +30% Tree Grab Damage Bonus
LVL 20 right talent from +15% Status Resistance to Infinite Tree Grab charges

Corrected lvl 25 right talent +30(was +10) Lunar Blessing Stats
Increased Lunar Blessing Nighttime radius from 1200 to Global

LVL 15 left talent from -20s Eclipse Cooldown to -30s Eclipse Cooldown
LVL 20 right talent from Global Lunar Blessing to +4 Eclipse number of beams

Legion Commander
LVL 10 left talent from +200 Duel Cast Range to +8 Duel Bonus Damage 
LVL 20 right talent from +30 Movement Speed to 250 AoE Press the Attack
LVL 25 left talent from 400 AoE Press the Attack to Press the Attack grants 1.5s Spell Immunity
LVL 25 right talent from +30 Duel Damage Bonus to +50% Moment of Courage Lifesteal

Grants a 15-second 3/6/9/12 stacks of 6 flat attack damage bonus buff upon teleporting to the targeted location
Every attack reduces a stack of attack damage, then grants a stack of 1 armor bonus
Increased mana cost from 50 on each level to 50/60/70/80
Increased cooldown from 62/48/34/20 to 65/55/45/35

LVL 15 left talent from +30 Attack Speed to +5 Teleportation Max Stacks
LVL 20 right talent Sprout Roots no longer pierces spell immunity and can be dispelled. Now roots on cast instead 0.5-second intervals

Arc Warden
Agility from 20 to 25 and gain from 2.5 to 3
Tempest Double
CHANGED clone spawned health from HeroCurrentHP to HeroMaxHP
CHANGED clone spawned mana from HeroCurrentMP to HeroMaxMP
CHANGED ability targeting type from non-targeted to a 700-cast range point-targeted ability

Increased turn rate from 0.5 to 0.6

Cast range from 575 to 650
Radius from 125 to 140
Increased damage from 80/140/200/260 to 105/170/235/300
Reduced cooldown from 12 to 11
Increased projectile speed from 1600 to 2000
Reduced stun duration from 1.4/1.8/2.2/2.6 to 1.3/1.6/1.9/2.2
Rescaled mana cost from 70/100/130/160 to 90/110/130/150

Increased cast range from 500 on each level to 550/575/600/625
Reduced duration from 2.5/3/3.5/4 to 2/2.4/2.8/3.2
Reduced cooldown from 30/24/18/12 to 24/20/16/12

Mana Drain
Increased cooldown from 16/12/8/4 to 15/12/9/6
ADDED ally unit-targeting functionality
Ally Mana Restore Multiplier: 0.5
Now restores 10/20/30/60 mana per second on allies
Grants 10%/13%/15%/18% ally movement speed bonus while channeling
Reduced mana cost from 10 to 0
Now grants True Sight over the affected target

Finger of Death
Reduced ooldown from 160/100/40 to 140/90/40
Reduced mana cost from 200/420/650 to 200/400/600
Aghanim's Scepter upgrade:
Reduced cooldown from 100/60/20 to 80/50/20
Reduced damage from 725/875/1025 to 700/825/950

LVL 25 right talent from +1000 Impale Range to Mana Drain Deals Damage
LVL 20 left talent from +2 Mana Drain Multi Target to Mana Drain Spell Immune and +2 Multi Target (+400 break range)
LVL 20 right talent from +500 Health to +20 Finger of Death Damage Per Kill 
LVL 15 left talent from -2s Voodoo Cooldown to +125 Impale Damage
LVL 15 right talent from +200 Finger of Death Damage to +70 Max Health Per Finger of Death Kill
LVL 10 left talent from +90 Damage to -2s Voodoo Cooldown
LVL 10 right talent from +100 Cast Range to +10%/+5% Mana Drain Slow/Speed
TALENT NOTES Both the max health bonus and damage bonus increasing talents are retroactive and update all already acquired stacks

Reduced attack point from 0.4 to 0.3 
Increased attack projectile speed from 900 to 1200
Increased turn rate from 0.5 to 0.6

Heartstopper aura
Now affects on ancients and Spirit Bear and no longer affects on Roshan
Radius from 700 to 800

REWORKED Aghanim's Scepter upgrade:
OLD Ghost Shroud
Reduces cooldown by 6
Heartstopper Aura has a damage multiplier of 2 while Ghost Shroud active
NEW Heartstopper Aura now deals 0.5 * SelfCurrentHealthRegen as health loss bonus per second

LVL 25 right talent from +0.8 Heartstopper Aura to +0.5 Heartstopper Aura
LVL 20 left talent from +70 Attack Speed to +30% Heartstopper Restoration Reduction
LVL 20 right talent from +20% Magic Resistance to +15% Ghost Shroud Self Restoration
LVL 15 right talent from +30% Ghost Shroud Slow to +20% Ghost Shroud Slow
LVL 10 left talent from +10 Strength to +2s Heartstopper Aura Stack Duration
LVL 10 right talent from +30 Damage to +100 Reaper's Scythe Cast Range

LVL 20 left talent from -5s Illusory Orb Cooldown to +150 Initial/Break Dream Coil Damage
LVL 15 right talent from +15% Spell Amplification to -20s Dream Coil Cooldown
LVL 10 right talent from +30 Damage to +50 Illusory Orb Damage

Storm Surge is now affected by cooldown manipulation
LVL 25 left talent from Storm Surge no Cooldown to 25% Cooldown reduction

Phantom Lancer
Increased attack range from 150 to 225
Reduced Agility attribute symbol agility gain from 3.2 to 2.8
Reduced base movement speed from 290 to 285
Reduced Phantom Rush cooldown from 16/12/8/4 to 13/10/7/4

Spirit Lance 
Increased cast range from 525/600/675/750 to 600/650/700/750
Increased movement speed slow from 10%/18%/26%/34% to 14%/21%/28%/35% 
Increased Spirit Lance slow duration from 3.25 to 3.75
Reduced damage from 100/160/220/280 to 70/140/210/280
Aghanim Upgrade: 
AOE from 400 to 750
Increased created illusion damage from 20% to 50%

LVL 20 left talent from +5% Juxtapose Damage to +10% Juxtapose Damage
LVL 15 right talent from 16% Evasion to +2.5s Phantom Rush Bonus Agility Duration
LVL 10 left talent from +15 Attack Speed to +10 Strength
LVL 10 right talent from +150 Health to +40 Spirit Lance Damage

Improved Base Model
Increased Agility gain from 2.4 to 2.6

LVL 25 right talent from +1% Feast Damage/Lifesteal to +2% Feast Damage/Lifesteal 
LVL 20 right talent from 20% Evasion to Infest cannot be silenced
LVL 15 left talent from +25 Movement Speed to Feast x2 Damage/Lifesteal vs illusions
LVL 15 right talent from +30 Damage to 15% Evasion
LVL 10 right talent from +200 Health to +15% Cleave

Reduced Strength gain from 3.4 to 2.8
Reduced Agility gain from 2.2 to 1.7

Berserker's Call 
Increased radius from 300 to 315
Reduced duration from 2/2.4/2.8/3.2 to 1.8/2.2/2.6/3
Reduced armor bonus from 30 to 25

Counter Helix 
Damage from 60/100/140/180 to 95/120/145/170
Now uses the regular cooldown system, instead of an internal cooldown. Means is now affected by cooldown manipulation
CHANGED from a 17%/18%/19%/20% proc chance to an ensured proc on every 7th/6th/5th/4th attack
Increased radius from 275 to 300

Culling Blade
CHANGED damage type from Magical to Pure
Now grants 2 permanent armor bonus for successfully killing an enemy
The ability damage and the kill health threshold now use the same value, instead of being separate
Now also counts as a successful kill if the target dies even if their current health is higher than the threshold. Means damage amplification can increase current health kill threshold
Reduced movement speed bonus from 30% on each level to 20%/25%/30%
Rescaled attack speed bonus from 30 on each level to 20/30/40
Rescaled mana cost from 60/120/180 to 100/125/150
Increased cooldown from 75/65/55 to 100/85/70
Increased damage from 150/250/300 to 275/375/475
Increased current health kill threshold from 250/350/450 to 275/375/475
Increased cast range from 150 to 175

LVL 20 left talent from +20 Health Regen to +150 Culling Blade Damage and threshold
LVL 20 right talent from Attacking procs Counter Helix to Counter Helix no cooldown and procs on Attack
LVL 15 right talent from +25 Movement Speed to +12% Battle Hunger Speed/Slow
LVL 10 right talent from +2 Mana Regen to +10 Berserker's Call Armor

Hogwarts Legacy quick review

I would never expect a game such as this to be anything nearly as good as it actually is.

I would put it in a category of games such as Witcher, Mass Effect and Skyrim, but  one level below these legendary games overall. Being a fan of Harry Potter universe helps a lot to enjoy this game..



Potentially heavy spoilers below.

The good:

  • Great graphics overall.
  • Cloth graphics and physics look great, relic robes look incredible.
  • Hogwarts is a 1:1 replica of the movie set, you can see the effort put into it.
  • The map overall is well designed and true open world.
  • The plot overall is interesting enough.
  • Soundtrack is good, not Skyrim or Witcher level good but I could recall at least 2 themes and that's an achievement.
  • Combat is balanced and at times challenging.
  • Niamh trial quest.
  • Having a completely open world game and allowing you to fly almost anywhere is daring and it just works.
  • Not really a fan of puzzles but accio trials are decent enough.

The meh:

  • The whole southern coast seems unnecessary. Also, giving you a powerful mount just before the game ends is kind of pointless.
  • Merlin trials and gear slots are a complete bore fest and grind. Am I supposed to be enjoying that? Reduce the trials in half and I could accept it.
  • Demiguise Statue quest.. ugh.
  • Natsai quest line is uninspiring and fades in comparison with the Sebastian quest line.
  • Anne story line is unresolved even though there are two big directions we could end up going. The relic plot line is completely derailed without being able to do anything about it and the option to use ancient magic is never explored even though it is hinted at heavily through the Isidora story. That could be a major decision left on the player but we are never given the opportunity. There is even a third way when we discover that Rookwood was responsible but nothing happens with his death.. the curse does not go away. You could be given a choice to not kill him or to torture him to release the curse etc.. I am just making things up in the heat of the moment but there are many options left on the table.
  • Ancient magic trials are quite boring.
  • About 10 hours too long.
  • The whole room of requirement is quite an achievement but unless you are a die hard fan of the game the whole thing could be easily cut without much loss, perhaps a step too far.
  • Rookwood and Harlow are not really built up as villains properly. They are impersonal and in some of the early missions we don't even encounter them (castle escape for example). Rookwood has a possibility of a redemption but we are never given the choice.
  • Black does nothing all game except for being the designated  idiot.

The bad:

  • Alohomora mini game is a complete waste of time. At least lockpicking in Skyrim requires some skill.
  • Player's character has no backstory. All we know is that we are a very talented student and that's about it, we just drop out of the sky. No family background, no prior event recalls, nothing. In Mass Effect for example, you could pick your background and it would be recalled in conversation from time to time, making the character more real.
  • Player's character has no personality, mostly because our dialog choices do not really matter and most choices are between neutral good to neutral evil. It would benefit from some Mass Effect level of choices and commander Shepard's sass level.
  • No romance options. Movies and books are quite heavy on relationships and this is missing. It would only take a few extra dialog options and scenes.

2023 DotA season ends

On December 1st, DotA ladder has been reset. The top 5 have received a custom skin as a gift from d1stats. All top players have received VIP status and icons. Congrats to all!

# Player PSR
1 rob_real 1873
2 real_rob 1869
3 myragegaming 1833
4 alexsundar 1803
5 ^venom^ 1801
6 chzn 1779
7 flame- 1758
8 wakakaka 1756
9 -thelegend- 1751
10 dotamafia 1751
11 smaaaraaac 1745
12 ghe 1742
13 nesisiryevil 1741
14 tihulu 1741
15 sympa 1740
16 viperlanevermez 1739
17 no_lifer_xd 1738
18 ]iamgroot[ 1735
19 agent.of.shield 1735
20 hanna^ 1733
21 bedel 1732
22 robertocarlos61 1732
23 dzuk1ll 1731
24 lovec_kokotov 1730
25 justify 1727
26 bozee_sacuvaj 1727
27 exxile 1726
28 hercelllam 1724
29 baholovetayyip 1723
30 ebemhaped 1723




Protecting your vBulletin 4 registration against spambots with email domain whitelist

If you are still hosting a vBulletin 4 forum for whatever the reason may be, you are probably experiencing the spambot hell. Captcha plugins are out of date or simply bypassed and protections like human verification questions just do not seem to work. You could throw Cloudflare in front for some bot detection and that is probably a good idea.

I observed that the major hole in arresting the bots from even registering is the use of various random domains and subdomains in their emails. You do have an email banlist option in Admin CP but that really does not cut it because there is no support for regex and there are infinite domains to block. An email whitelist would be much better because you then force the spammers to create email accounts at major email providers like gmail and outlook which slows them down.

That will block legitimate users who use personal email domains but that is usually a small minority that can be handled on case by case basis. It depends on your use case if you can accept that.

There are no email whitelist plugins out there so I decided to just dig into the vBulletin code and hardcode it.. how hard can it be? Turns out it's easy.

The function that handles the email ban list can be found under the name is_banned_email in a includes/functions_user.php.

Right before the return statement, we can hardcode our email domain whitelist as an additional protection:

// custom addition: email whitelist
$email_domain_whitelist = [
    /* Default domains included */
    "", "", "", "", "", "",
    "", "", "", "", "", "", "",
    "", "", "",

    /* Other global domains */
    "", "" /* AOL */, "", "", "", "",
    "", "" /* AOL */, "", "", "" /* Yahoo */,
    "", "" /* AOL */, "" /* AOL */, "" /* Yahoo */, "", "",

    /* United States ISP domains */
    "", "", "", "", "", "",

    /* British ISP domains */
    "", "", "", "", "",
    "", "", "", "", "", "",
    "", "", "",

    /* Domains used in Asia */
    "", "", "", "", "", "",

    /* French ISP domains */
    "", "", "", "", "", "", "", "", "",

    /* German ISP domains */
    "", "", "", "", "" /* T-Mobile */, "",

    /* Russian ISP domains */
    "", "", "", "", "",

    /* Domains used in Brazil */
    "", "", "", "", "", "", 
    "", "", "", "", "", "",
    /* personal domains */

$emailParts = explode('@', $email);

if (count($emailParts) === 2) {
    $domain = $emailParts[1];
    if (!in_array($domain, $email_domain_whitelist)) {
        return 1;