Some modifications to the DLL file that can be done to alter the game's balance a bit.
You just need patch 1.75, a hex editor and to correctly follow the instructions.
(The UpdatePack's modified DLL is good too)


If you're making a backup (you should!!) of Script_Game.dll make sure it's outside of the Gothic3 directory or in a compressed zip/rar/7z file, in some cases the game may attempt to load the wrong Script_Game.dll if there's more than one library present, even if you change the file name+extension.

I rarely check these forums, so months may pass before I give a reply


Make trading less rewarding (closer to G1/G2 feel)
Spoiler:(zum lesen bitte Text markieren)
SCRIPT_GAME.DLL PATCH
The goal is to reduce sale prices to something more abusive.
This does not affect furs/valuables when sold to hunters/thieves,
so it makes collecting and selling these much more important.

We'll find the floating point constant at
0x107468: 9A 99 99 3E (0.3)

And then we'll replace it with:
33 33 33 3E (0.175)


Shamelessly altering headshot damage.
Spoiler:(zum lesen bitte Text markieren)
SCRIPT_GAME.DLL PATCH
The goal is to triple (instead of double) headshot damage

We'll find a
JZ L1002BC69
ADD ESI,ESI
And then we'll replace a:
MOV [ESP+14h],ESI
With a:
ADD ESI,ESI
NOP
NOP



The opcodes will change from this:
7406
03F6
89742414
To this:
7406
03F6
01F69090


Altering damage non human/orc npc's do to other human/orc npc's.
Spoiler:(zum lesen bitte Text markieren)
SCRIPT_GAME.DLL PATCH
The goal is to scale the damage non-human npc's do.
** Does not affect summoned creatures.

We'll find a
MOV EAX,66666667 //EDX: 40% of ESI (original damage)
IMUL ESI
SAR EDX,2
And then we'll replace it with:
MOV EAX,66666667
IMUL ESI
SAR EDX,0

** The value set on EAX can be altered to tweak the % of ESI
** (between 0 and 49) using (0x00000000 to 0x7FFFFFFF)

** The SAR instruction is a simple arithmetic shift right.
** You can divide by an exponent of 2 using this.

** Replacing the SAR instruction with SAL will change the
** division to a multiplication.
** In this case the opcode goes from C1FA(value) to C1E2(value)

** Don't forget these are integer operations, the values are rounded!


For the simple case of changing the multiplier from 10% to 40%
the opcodes will change from this (i found this at 0x2C06D):
B867666666
F7EE
C1FA02
To this (we alter the shift to divide by 2^0):
B867666666
F7EE
C1FA00