Warhammer 40,000: Space Wolf

Warhammer 40,000: Space Wolf

40 ratings
Offline Mode Promotion Codes
By dv
How to modify promotion code rewards in offline mode.
2
   
Award
Favorite
Favorited
Unfavorite
Introduction
Game version 1.2.0 introduces offline mode. Game behaviour is no longer controlled by a remote server but by the PC the game is running on. The change allows players to modify the game. This guide describes how to change promotion code rewards in offline mode.


This guide works with V1.2.0 only. Addresses inside file assembly-csharp.dll change with every release.


Warning:
Backup your files in case something goes wrong. On standard installations, you can find them in the following location:
C:\Program Files (x86)\Steam\userdata\(userId)\553210\remote
Update V1.2.3
V1.2.1 removed the button. That changes a lot.

V1.2.3
The three cards are at 1C3508 - 1C3513.
The five currrencies are at 83E79 - 83E82 or 8406A-84073. Try the first address first.

File level3:
Change F02EE from 00 to 01 to make the button reappear.

Updated link in section "Fix Broken Game" to a file that works with V1.2.3.
Promotion Codes
Promotion codes work in offline mode but not in the same way they used to work online. There are three key differences:

  • Any code is valid as long as it consits of at least 8 characters.
  • Codes are not used up. They work multiple times.
  • The reward is fixed and defined in game file assembly-csharp.dll.

The following picture displays the reward: Three cards that are more or less useless, 500 skillpoints nobody needs, 100 machine parts to craft cards with, 2 runes that do not seem to do anything in V1.2.0 and one piece that uses the same icon skillpoints do.

To change the rewards, all we need is a Hex editor.
Edit assembly-csharp.dll
Open file assembly-csharp.dll in a Hex editor. Any Hex editor will do.

The file resides in directory ...\Warhammer 40,000 Space Wolf\SpaceWolf_Data\Managed.

Bytes 1C2F08-1C2F13 define the three cards:

The information about each card consists of 4 bytes. The first card is 0x000015E0 which is decimal 5600, the 2nd 5610, the third 5620.

Replace the values with those of other cards. Here are some codes, limited to cards that are not or no longer craftable:

  • ASAHEIM ICE SLAYER 70040 (98 11 01 00)
  • CLEANSE 96 (60 00 00 00)
  • KRAKEN-BANE 80000 (80 38 01 00)
  • LUPUS MK IV 5070 (CE 13 00 00)
  • SWIFTCLAW BLADE 205010 (D2 20 03 00)
  • YOUNG THUNDERWOLF 27 (1B 00 00 00)

For a complete list of cards, see below.

WARNING:
Values for cards that do not exist break the game. Add such a card and you can no longer select or edit decks.

Values for skillpoints, machine parts and other currencies are at 83ABD-83AC6:

The 10 bytes define 5 integer values.
1) 20 F4 01 00 00
The first byte "20" means it is a 4 byte signed integer. The remaining 4 bytes give the value which is 1F4 or decimal 500. This is skillpoints.

2) 1F 64
The first byte "1F" means it is a 1 byte signed integer. The 2nd byte gives the value which is 64 or decimal 100. This is machine parts.

3) 18
Decimal value 2 which is the number of runes.

4) 17
Decimal value 1 which is the currency that does nothing.

5) 16
Decimal value 0 which is the number of booster packs a promo code grants.

Not used but available to use are values 19-1E which are equivalent to 3-8.


Now we change above values to something that is more useful:

The 10 bytes now read:
1) 1F 00
Number of skillpoints is a one byte signed integer with value 0.

2) 20 40 42 0F 00
Number of machine parts is a 4 byte signed integer with value 1,000,000.

3) 16
Number of runes is zero.

4) 16
The useless currency is zero.

5) 1E
8 booster packs.

Save the file, run the game and redeem a promotion code. The result should look similar:
Final Warning
The game stores the number of machine parts as a 4 byte signed integer. If the value exceeds 2.147.483.647, it turns negative. So beware.

Card List
List of all card names together with card id:
https://workupload.com/file/UY6h32nmwAc

There is no guarantee that a card exists just because it has a name.

The list includes all cards. Even the ones not intended for player use.
Fix Broken Game
Added an invalid card to your game? No way to edit decks?

Replace file assembly-csharp.dll with this one:
https://workupload.com/file/NmF9qa37Xd6

Click "Redeem Promo Codes". No need to enter a code. "Cancel" is fine.
This checks all cards in your account and removes non-existing ones.

Verify game files to reinstall the unmodified file.

Do not edit this file. Above addresses do not apply to it.



34 Comments
Skull Void 16 Aug @ 9:23am 
I modified it, added the promo code buttom, and work...
BUT all the cards didn't save. Code card, Forged card ,Booster card...
NinjaKid 7 Jul, 2023 @ 1:31pm 
i cant insert the copied promo-codes into the game .. why?
dv  [author] 28 May, 2023 @ 10:05pm 
I did not update the screenshots. Go with the addresses in the 2nd section.
Death by coughs 28 May, 2023 @ 8:46pm 
your values for 83ABD-83AC6 are completely different than what I see, for the other item values.
eXe.Scorp1on 6 Jan, 2023 @ 2:28am 
Oh shit. My mistake! :eaglederp: All worked! Thank you! :bigups:
dv  [author] 6 Jan, 2023 @ 2:00am 
What do you mean with "nothing to enter"? You have to enter something which has to be at least 8 characters long.
eXe.Scorp1on 6 Jan, 2023 @ 12:58am 
Nothing to enter in the field with the promo code, although I changed F02EE from 00 to 01. Tell me what could be the problem?
needthistochat 28 Dec, 2022 @ 5:40am 
*sorry typo, v1.2.3 - sorry can't seem to delete my previous message.
needthistochat 28 Dec, 2022 @ 5:38am 
It worked beautifully on v1.2.5. Thank you @dv and @Sicarius and also the person who guided me here.
Sicarius 3 Jul, 2022 @ 5:28am 
I also made a step-by-step version of dv's guide on my personal blog to make it easier to understand what to exactly do where, how and when (with full credit to dv of course): https://www.beimchristoph.de/blog/2022/06/06/warhammer-40000-space-wolf-pc-how-to-get-every-card/