Blood West

Blood West

Not enough ratings
Enemy HP and Player damage (WIP)
By Fummelwilli
For people who like to theorycraft.
   
Award
Favorite
Favorited
Unfavorite
Note
GameVersion 3.0.3.

Finally did it and was able to reverse engineer enough to input my own little methods to scrape some information from the game at runtime.

All enemies are sorted by the chapter they first appeard in. Reoccuring enemies in later chapters won't be mentioned again.

For the names I mostly use the internal names of the corresponding gameObjects, when these are not entirely clear, I added ingame names as well.

#-#-# will add pictures later #-#-#
Chapter 1
Spirit - HP 30

Miner - HP 30

Gunlady (Prodigal Daughter) - HP 60

Zombie (Reanimated Dead) - HP 60

Humanpede - HP 60

Half-risen Dead - HP 60 + Coffin - HP 150

Birdman - HP 100

Wraith (Undead Gunslinger) - HP 130

Vendigo - HP 400

Canyon Boss - HP 980
Chapter 2
Swamp Zombie (Drowner) - HP 120

ZombieGentleman (Zombie wearing a smoking) - HP 120

Dogman (Rougarou) - HP 120

Skin Seeker - HP 125

Scallywag - HP 150

Cultist - HP 200

Leech(Gator) - HP 220

Skin Collector - HP 300

Death Stalker - HP 800

Swamp Boss - HP 5500
Chapter 3
VulcanFlier (Hellbat) - HP 20

TriheadSkull (Red Spirit) - HP 37.5

Vulcan (Defiler) - HP 180

ZombieMountains (Polluter) - HP 190

Hunter (Buffalo Rifle) - HP 190

BooHag - HP 190

BirdmanMountains - HP 200

BloodDemon (Blood Clot) - HP 200

Shaman (Dancing ghost lady) - HP 200

Predator (Broken Scream - Invis Vendigo) - HP 600

Trihead (Demon) - HP 750

BearMan - HP 1000

Mountains Boss - HP 7000
Melee Damage
Basics

Every melee weapon in Blood West has 4 different damage values, which are neither connected nor derived from one another. These 4 values are:

  • light attack damage
  • strong attack damage
  • surprise light attack damage
  • surprise strong attack damage

Only the first two values can be seen in the inventory, the latter two are hidden from the player, although it is not possible to guess them in any shape or form. The only consistency is that headshots still deal 5 times the damage of the correspondig attack. So a surprise light attack of 100 damage deals 500 damage to the head. Likewise a non-surprise light attack of 10 damage deals 50 damage to the head and so forth and so on.

Note that in the game's terms a surprise attack is a melee attack against an unalerted enemy. In the following paragraph you find now these hidden damage values of all melee weapons currently in the game.

Secret Surprise Damage Values

Weapon
Light Attack
Strong Attack
rusty knife
100
120
rusty axe
100
120
(normal) knife
100
120
(normal) axe
100
120
Tomahawk
150
-
Bone knife
100
150
Living Vine
100
150
Saber
150
180
Endless Hunger
150
180
Four Winds
150
-
The Edge
150
180
Left Hand Path
280
300
Needle of Fate
100
180
Lionheart
150
180
Hatered
150
-
Stone Mace
150
-

Melee buffs and surprise attacks

Since the surprise attacks are disconnected from the melee damage values, they do not receive all buffs, that non-surprise melee attacks get.

The following buffs are not applied to surprise attacks:

  • Buff: Bear strength (Totem)
  • Buff: Whetstone
  • Buff: Golden Oil (only ability to kill Boo Hags is applied)
  • Perk: Fast Hands
  • Weapon Trait: Lionheart

The following buffs are applied to surprise attacks:

  • Perk: Berserker
  • Perk: Adrenaline Rush
  • Weapon Trait: Left Hand Path

In addition all buffs, that increase headshot damage, are also applied as long as you land a headshot with a surprise attack.

Whether this is an oversight or it is intentional design I do not know. The reason why some buffs work and others don't has to do with the scripts they are applied in. All the buffs, that are not granted, are applied directly in the script, that handles equipped items. Here surprise attacks do not receive any bonuses. The final damage value is then send over to the damage script of the enemy hit and in there "Berserker" and "Adrenaline Rush" are applied as long as it is a melee attack with no regard if it was a surprise attack or not.
For nerds
In case you were wondering, how it was done, here is my solution to getting these values:

I wasn't able to get the values from the database straight away (#skill issue), so I first decompiled "BloodWest.dll" and looked up the internal naming for enemies, which is "Actor" and here more specifically "ActorInstance" residing in "Game.Realm".

There I was looking for a script I could get into, which was

a) always active and
b) can be called reliably.

I figured Damage()-Method would be a good target, since it is always invoked as soon as I damage something. So I fixed some decompliation errors first and then wrote a little function, which returns the gameObject's name (currently getting damaged) as well as its max hp value as strings. Later on I added a function that would also output the final damage applied to the enemy. These strings are then concatted and saved into a log file. After recompiling and patching the .dll everything performed as planned. Maybe not the most elegant way, but hey it works :)
2 Comments
Fummelwilli  [author] 28 Apr @ 2:15pm 
Imagine how I felt after 50 hours of playing the game, when I sliced a Vendigos face while sneaking with a rusty knife and it dropped dead instantly. It was quite a surprise to say the least. :D
Eyezik <3 vio.io 28 Apr @ 1:23pm 
Wow, this is amazingly well done and useful! Thank you so much! I was wondering just now about what the melee sneak attack damage was, because it definitely didn't seem consistent to me. Interestingly here it seems that if you can headshot suprise attack a Deathstalker with the Bone Knife it'll deal 750/800 of its health immediately-- I've been using golden shotgun rounds with the Hermit Stick and I feel dumb now. Thank you so much! I'm a new player who's a few hours into Act/Chapter 2 and I noticed a lot of enemies require different things to sneak kill them, and this helps a ton.

Really wish the surprise damage was stored somewhere in game-- this makes some weapons a lot better, like how Sabers can apparently one-shot Deathstalkers if you surprise headshot them. Thank you so much for this awesome guide! Especially for doing all the work to grab the data manually :)