<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="45">
  <CheatEntries>
    <CheatEntry>
      <ID>134435</ID>
      <Description>"Compact Mode"</Description>
      <Color>DFDFDF</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
LuaCall(function cycleFullCompact(sender,force) local state = not(compactmenuitem.Caption == 'Compact View Mode'); if force~=nil then state = not force end; compactmenuitem.Caption = state and 'Compact View Mode' or 'Full View Mode'; getMainForm().Splitter1.Visible = state; getMainForm().Panel4.Visible    = state; getMainForm().Panel5.Visible    = state; end; function addCompactMenu() if compactmenualreadyexists then return end; local parent = getMainForm().Menu.Items; compactmenuitem = createMenuItem(parent); parent.add(compactmenuitem); compactmenuitem.Caption = 'Compact View Mode'; compactmenuitem.OnClick = cycleFullCompact; compactmenualreadyexists = 'yes'; end; addCompactMenu(); cycleFullCompact(nil,true))

[DISABLE]
LuaCall(cycleFullCompact(nil,false))
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>134822</ID>
      <Description>"COLORS LEGEND"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <Color>DFDFDF</Color>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>134807</ID>
          <Description>"User Default Adjustable In Script"</Description>
          <Color>FFDFDF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>134816</ID>
          <Description>"Test and Report, Please"</Description>
          <Color>7F7F7F</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>134784</ID>
      <Description>"All Waypoint Active"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Diablo II
  Version:
  Date   : 2024-02-11
  Author : plaxor
  Modder ; satandidnowrong

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(allWaypoints,D2Common.dll,23 C1 C2 08 00 CC) // should be unique

allWaypoints:
  mov al,01

registersymbol(allWaypoints)

[DISABLE]
allWaypoints:
  db 23 C1 C2 08 00

unregistersymbol(*)

{
// ORIGINAL CODE - INJECTION POINT: D2Common.Ordinal10373+61

D2Common.Ordinal10373+35: 68 28 A7 DD 6F        - push D2Common.Ordinal10666+59F8
D2Common.Ordinal10373+3A: E8 47 15 FA FF        - call D2Common.dll+9216
D2Common.Ordinal10373+3F: 83 C4 0C              - add esp,0C
D2Common.Ordinal10373+42: 6A FF                 - push -01
D2Common.Ordinal10373+44: E8 34 9E F9 FF        - call D2Common.dll+1B0D
D2Common.Ordinal10373+49: 0F B7 C8              - movzx ecx,ax
D2Common.Ordinal10373+4C: C1 E1 02              - shl ecx,02
D2Common.Ordinal10373+4F: 0F B7 81 58 9C DE 6F  - movzx eax,word ptr [ecx+D2Common.dll+99C58]
D2Common.Ordinal10373+56: 0F B7 04 42           - movzx eax,word ptr [edx+eax*2]
D2Common.Ordinal10373+5A: 0F B7 89 5A 9C DE 6F  - movzx ecx,word ptr [ecx+D2Common.dll+99C5A]
// ---------- INJECTING HERE ----------
D2Common.Ordinal10373+61: 23 C1                 - and eax,ecx
// ---------- DONE INJECTING  ----------
D2Common.Ordinal10373+63: C2 08 00              - ret 0008
D2Common.Ordinal10373+66: CC                    - int 3 
D2Common.Ordinal10373+67: CC                    - int 3 
D2Common.Ordinal10373+68: CC                    - int 3 
D2Common.Ordinal10373+69: CC                    - int 3 
D2Common.Ordinal10373+6A: CC                    - int 3 
D2Common.Ordinal10373+6B: CC                    - int 3 
D2Common.Ordinal10373+6C: CC                    - int 3 
D2Common.Ordinal10373+6D: CC                    - int 3 
D2Common.Ordinal10373+6E: CC                    - int 3 
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>134789</ID>
      <Description>"Enable Map Reset"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Diablo II
  Version:
  Date   : 2024-02-12
  Author : satandidnowrong
  Resources :
            https://d2mods.info/forum/viewtopic.php?f=8&amp;t=58689#p459811

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(enableResetMaps,D2GAME.dll,74 09 8B 95 AB 00 00 00) // should be unique

enableResetMaps:
  db  EB

registersymbol(enableResetMaps)

[DISABLE]

enableResetMaps:
  db 74 09 8B 95 AB 00 00 00

{
// ORIGINAL CODE - INJECTION POINT: D2GAME.dll+ED3BE

D2GAME.dll+ED3A1: 32 C0              - xor al,al
D2GAME.dll+ED3A3: 8A C8              - mov cl,al
D2GAME.dll+ED3A5: 8B C3              - mov eax,ebx
D2GAME.dll+ED3A7: E8 C4 C9 F5 FF     - call D2GAME.Ordinal10023+3260
D2GAME.dll+ED3AC: 80 7E 6A 03        - cmp byte ptr [esi+6A],03
D2GAME.dll+ED3B0: 75 17              - jne D2GAME.dll+ED3C9
D2GAME.dll+ED3B2: 8B 86 84 00 00 00  - mov eax,[esi+00000084]
D2GAME.dll+ED3B8: 85 C0              - test eax,eax
D2GAME.dll+ED3BA: 75 0D              - jne D2GAME.dll+ED3C9
D2GAME.dll+ED3BC: 85 FF              - test edi,edi
// ---------- INJECTING HERE ----------
D2GAME.dll+ED3BE: 74 09              - je D2GAME.dll+ED3C9
// ---------- DONE INJECTING  ----------
D2GAME.dll+ED3C0: 8B 95 AB 00 00 00  - mov edx,[ebp+000000AB]
D2GAME.dll+ED3C6: 89 56 7C           - mov [esi+7C],edx
D2GAME.dll+ED3C9: 8B 54 24 1C        - mov edx,[esp+1C]
D2GAME.dll+ED3CD: 6A 00              - push 00
D2GAME.dll+ED3CF: 6A 00              - push 00
D2GAME.dll+ED3D1: 6A 00              - push 00
D2GAME.dll+ED3D3: 6A 00              - push 00
D2GAME.dll+ED3D5: 56                 - push esi
D2GAME.dll+ED3D6: 6A 00              - push 00
D2GAME.dll+ED3D8: 6A 00              - push 00
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>134756</ID>
      <Description>"No Gold Lost/Gained (Trade)"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Diablo II
  Version: 
  Date   : 2024-02-11
  Author : plaxor
  Modder : satandidnowrong

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(costGold,D2COMMON.dll,83 EC 24 53 8B 5C 24 2C) // should be unique

costGold:
  xor eax eax
  ret 0014
  nop 3

[DISABLE]
costGold:
  db 83 EC 24 53 8B 5C 24 2C

{
// ORIGINAL CODE - INJECTION POINT: D2COMMON.Ordinal11057+6B0

D2COMMON.Ordinal11057+69C: 8B 70 08           - mov esi,[eax+08]
D2COMMON.Ordinal11057+69F: 85 F6              - test esi,esi
D2COMMON.Ordinal11057+6A1: 75 BE              - jne D2COMMON.Ordinal11057+661
D2COMMON.Ordinal11057+6A3: 55                 - push ebp
D2COMMON.Ordinal11057+6A4: E8 57 04 FE FF     - call D2COMMON.dll+92D0
D2COMMON.Ordinal11057+6A9: 5F                 - pop edi
D2COMMON.Ordinal11057+6AA: 5E                 - pop esi
D2COMMON.Ordinal11057+6AB: 5D                 - pop ebp
D2COMMON.Ordinal11057+6AC: 5B                 - pop ebx
D2COMMON.Ordinal11057+6AD: C2 0C 00           - ret 000C
// ---------- INJECTING HERE ----------
D2COMMON.Ordinal11057+6B0: 83 EC 24           - sub esp,24
// ---------- DONE INJECTING  ----------
D2COMMON.Ordinal11057+6B3: 53                 - push ebx
D2COMMON.Ordinal11057+6B4: 8B 5C 24 2C        - mov ebx,[esp+2C]
D2COMMON.Ordinal11057+6B8: 56                 - push esi
D2COMMON.Ordinal11057+6B9: 8B F0              - mov esi,eax
D2COMMON.Ordinal11057+6BB: 85 F6              - test esi,esi
D2COMMON.Ordinal11057+6BD: 0F 84 3B 0E 00 00  - je D2COMMON.Ordinal11057+14FE
D2COMMON.Ordinal11057+6C3: 85 DB              - test ebx,ebx
D2COMMON.Ordinal11057+6C5: 0F 84 33 0E 00 00  - je D2COMMON.Ordinal11057+14FE
D2COMMON.Ordinal11057+6CB: 8B 03              - mov eax,[ebx]
D2COMMON.Ordinal11057+6CD: 83 F8 04           - cmp eax,04
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>134814</ID>
      <Description>"Gamble Preview"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Diablo II
  Version: 
  Date   : 2024-02-13
  Author : satandidnowrong
  Resources :
            https://d2mods.info/forum/viewtopic.php?t=62182#p481988

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(gamblePreview,D2Game.dll,6A 00 6A 10 57 E8 CD) // should be unique

gamblePreview:
  db 6A 01
registersymbol(gamblePreview)

[DISABLE]

gamblePreview:
  db 6A 00 6A 10 57

unregistersymbol(gamblePreview)

{
// ORIGINAL CODE - INJECTION POINT: D2Game.Ordinal10046+5DC7

D2Game.Ordinal10046+5DB0: EB 15           - jmp D2Game.Ordinal10046+5DC7
D2Game.Ordinal10046+5DB2: 57              - push edi
D2Game.Ordinal10046+5DB3: E8 88 C4 F4 FF  - call D2Game.dll+AA00
D2Game.Ordinal10046+5DB8: 85 C0           - test eax,eax
D2Game.Ordinal10046+5DBA: 7E 0B           - jle D2Game.Ordinal10046+5DC7
D2Game.Ordinal10046+5DBC: 6A 00           - push 00
D2Game.Ordinal10046+5DBE: 50              - push eax
D2Game.Ordinal10046+5DBF: 6A 48           - push 48
D2Game.Ordinal10046+5DC1: 57              - push edi
D2Game.Ordinal10046+5DC2: E8 EB BE F4 FF  - call D2Game.dll+A472
// ---------- INJECTING HERE ----------
D2Game.Ordinal10046+5DC7: 6A 00           - push 00
// ---------- DONE INJECTING  ----------
D2Game.Ordinal10046+5DC9: 6A 10           - push 10
D2Game.Ordinal10046+5DCB: 57              - push edi
D2Game.Ordinal10046+5DCC: E8 CD C0 F4 FF  - call D2Game.dll+A65E
D2Game.Ordinal10046+5DD1: 8B 07           - mov eax,[edi]
D2Game.Ordinal10046+5DD3: 83 F8 02        - cmp eax,02
D2Game.Ordinal10046+5DD6: 74 1F           - je D2Game.Ordinal10046+5DF7
D2Game.Ordinal10046+5DD8: 83 F8 03        - cmp eax,03
D2Game.Ordinal10046+5DDB: 7E 05           - jle D2Game.Ordinal10046+5DE2
D2Game.Ordinal10046+5DDD: 83 F8 05        - cmp eax,05
D2Game.Ordinal10046+5DE0: 7E 15           - jle D2Game.Ordinal10046+5DF7
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>134815</ID>
          <Description>"It's not gambling- it's day trading!"</Description>
          <Color>000000</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>134813</ID>
      <Description>"Gamble Ethereal (PD2)"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Diablo II
  Version: 
  Date   : 2024-02-13
  Author : satandidnowrong
  Resources :
            https://d2mods.info/forum/viewtopic.php?f=8&amp;t=58689#p459811

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(gambleEth,D2Game.dll,B9 01 00 00 00 33 D2 89 7C) // should be unique

gambleEth:
  db B9 00
registersymbol(gambleEth)

[DISABLE]

gambleEth:
  db B9 01 00 00 00

unregistersymbol(gambleEth)

{
// ORIGINAL CODE - INJECTION POINT: D2Game.Ordinal10046+5D34

D2Game.Ordinal10046+5D23: 6A 00              - push 00
D2Game.Ordinal10046+5D25: 6A 00              - push 00
D2Game.Ordinal10046+5D27: 6A 00              - push 00
D2Game.Ordinal10046+5D29: 51                 - push ecx
D2Game.Ordinal10046+5D2A: 8B 4C 24 44        - mov ecx,[esp+44]
D2Game.Ordinal10046+5D2E: 6A 04              - push 04
D2Game.Ordinal10046+5D30: 55                 - push ebp
D2Game.Ordinal10046+5D31: 56                 - push esi
D2Game.Ordinal10046+5D32: 51                 - push ecx
D2Game.Ordinal10046+5D33: 47                 - inc edi
// ---------- INJECTING HERE ----------
D2Game.Ordinal10046+5D34: B9 01 00 00 00     - mov ecx,00000001
// ---------- DONE INJECTING  ----------
D2Game.Ordinal10046+5D39: 33 D2              - xor edx,edx
D2Game.Ordinal10046+5D3B: 89 7C 24 34        - mov [esp+34],edi
D2Game.Ordinal10046+5D3F: E8 7C 34 F5 FF     - call D2Game.dll+11980
D2Game.Ordinal10046+5D44: 8B F8              - mov edi,eax
D2Game.Ordinal10046+5D46: 85 FF              - test edi,edi
D2Game.Ordinal10046+5D48: 0F 84 03 01 00 00  - je D2Game.Ordinal10046+5E51
D2Game.Ordinal10046+5D4E: 6A 00              - push 00
D2Game.Ordinal10046+5D50: 57                 - push edi
D2Game.Ordinal10046+5D51: E8 18 C4 F4 FF     - call D2Game.dll+A92E
D2Game.Ordinal10046+5D56: 57                 - push edi
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>134817</ID>
      <Description>"Gamble Crafted Replaces Magic"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Diablo II
  Version: 
  Date   : 2024-02-13
  Author : satandidnowrong
  Resources :
            https://d2mods.info/forum/viewtopic.php?f=8&amp;t=58689#p459811

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(gambleCrafted,D2Game.dll,B9 04 00 00 00 7E) // should be unique

gambleCrafted:
  db b9 08
registersymbol(gambleCrafted)

[DISABLE]

gambleCrafted:
  db B9 04 00 00 00

unregistersymbol(gambleCrafted)

{
// ORIGINAL CODE - INJECTION POINT: D2Game.Ordinal10046+5CC5

D2Game.Ordinal10046+5CAC: 8B 40 50        - mov eax,[eax+50]
D2Game.Ordinal10046+5CAF: 52              - push edx
D2Game.Ordinal10046+5CB0: 50              - push eax
D2Game.Ordinal10046+5CB1: 8B 44 24 18     - mov eax,[esp+18]
D2Game.Ordinal10046+5CB5: 56              - push esi
D2Game.Ordinal10046+5CB6: 8B CD           - mov ecx,ebp
D2Game.Ordinal10046+5CB8: E8 C3 EB FF FF  - call D2Game.Ordinal10046+4880
D2Game.Ordinal10046+5CBD: 8B F0           - mov esi,eax
D2Game.Ordinal10046+5CBF: 8B 44 24 1C     - mov eax,[esp+1C]
D2Game.Ordinal10046+5CC3: 85 C0           - test eax,eax
// ---------- INJECTING HERE ----------
D2Game.Ordinal10046+5CC5: B9 04 00 00 00  - mov ecx,00000004
// ---------- DONE INJECTING  ----------
D2Game.Ordinal10046+5CCA: 7E 4F           - jle D2Game.Ordinal10046+5D1B
D2Game.Ordinal10046+5CCC: 8B 03           - mov eax,[ebx]
D2Game.Ordinal10046+5CCE: 8B 7B 04        - mov edi,[ebx+04]
D2Game.Ordinal10046+5CD1: BA C5 90 C6 6A  - mov edx,6AC690C5
D2Game.Ordinal10046+5CD6: F7 E2           - mul edx
D2Game.Ordinal10046+5CD8: 33 ED           - xor ebp,ebp
D2Game.Ordinal10046+5CDA: 03 C7           - add eax,edi
D2Game.Ordinal10046+5CDC: 13 D5           - adc edx,ebp
D2Game.Ordinal10046+5CDE: 89 53 04        - mov [ebx+04],edx
D2Game.Ordinal10046+5CE1: 33 D2           - xor edx,edx
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>134255</ID>
      <Description>"/nopickup (nonAOB)"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>// Author : plaxor

[ENABLE]
globalalloc(NoPickup, 256)
createthread(NoPickup)
label(NoPickup_exit)
registersymbol(NoPickup_exit)

NoPickup:
  mov byte ptr ["D2Client.dll"+11C2F0], 01

  push #1000
  call kernel32.Sleep

  cmp byte ptr [NoPickup_exit], 00
  je NoPickup
  ret

NoPickup_exit:
  db 00
[DISABLE]
"D2Client.dll"+11C2F0:
  db 00

NoPickup_exit:
  db 01
unregistersymbol(NoPickup_exit)
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>134753</ID>
      <Description>"Drop Rarity (Can Drop Sets)"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <Color>FFDFDF</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Diablo II
  Version:
  Date   : 2024-02-11
  Author : satandidnowrong
  Assist : plaxor
  Resources :
            https://d2mods.info/forum/viewtopic.php?p=451455#p451455

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(dropUnique,D2Game.dll,3D 80 00 00 00 72 DE 8B C5) // should be unique
aobscanmodule(dropSet,D2Game.dll,3D 80 00 00 00 72 DE 8B 4C) // should be unique
aobscanmodule(dropRare,D2Game.dll,3D 80 00 00 00 72 DE 8B 44) // should be unique
alloc(selectDropRarity,1)

selectDropRarity: //Set preferred default
  db 1            //Unique - 0
                  //Set    - 1
                  //Rare   - 2
checkUnique:
  cmp byte ptr [selectDropRarity], 0 //unique
  jne @f
  mov eax, 0 //eax &lt; 128 == drop
@@:
  cmp eax,00000080
  jmp dropUnique+5
checkSet:
  cmp byte ptr [selectDropRarity], 1 //set
  jne @f
  mov eax, 0 //eax &lt; 128 == drop
@@:
  cmp eax,00000080
  jmp dropSet+5
checkRare:
  cmp byte ptr [selectDropRarity], 2 //rare
  jne @f
  mov eax, 0 //eax &lt; 128 == drop
@@:
  cmp eax,00000080
  jmp dropRare+5
dropUnique:
  jmp checkUnique
dropSet:
  jmp checkSet
dropRare:
  jmp checkRare

registersymbol(selectDropRarity)
registersymbol(dropUnique)
registersymbol(dropSet)
registersymbol(dropRare)

[DISABLE]
dropUnique:
  db 3D 80 00 00 00
dropSet:
  db 3D 80 00 00 00
dropRare:
  db 3D 80 00 00 00

unregistersymbol(*)
dealloc(*)

{
// ORIGINAL CODE - INJECTION POINT: D2GAME.dll+FDBA

D2GAME.dll+FD9F: 5D              - pop ebp
D2GAME.dll+FDA0: 5F              - pop edi
D2GAME.dll+FDA1: 5E              - pop esi
D2GAME.dll+FDA2: B8 07 00 00 00  - mov eax,00000007
D2GAME.dll+FDA7: 5B              - pop ebx
D2GAME.dll+FDA8: 83 C4 08        - add esp,08
D2GAME.dll+FDAB: C2 10 00        - ret 0010
D2GAME.dll+FDAE: 8B 4C 24 20     - mov ecx,[esp+20]
D2GAME.dll+FDB2: 83 C1 20        - add ecx,20
D2GAME.dll+FDB5: E8 16 14 FF FF  - call D2GAME.dll+11D0
// ---------- INJECTING HERE ----------
D2GAME.dll+FDBA: 3D 80 00 00 00  - cmp eax,00000080
// ---------- DONE INJECTING  ----------
D2GAME.dll+FDBF: 72 DE           - jb D2GAME.dll+FD9F
D2GAME.dll+FDC1: 8B C5           - mov eax,ebp
D2GAME.dll+FDC3: 99              - cdq
D2GAME.dll+FDC4: F7 7F 1C        - idiv [edi+1C]
D2GAME.dll+FDC7: 8B 77 18        - mov esi,[edi+18]
D2GAME.dll+FDCA: 2B F0           - sub esi,eax
D2GAME.dll+FDCC: 8B 44 24 10     - mov eax,[esp+10]
D2GAME.dll+FDD0: C1 E6 07        - shl esi,07
D2GAME.dll+FDD3: 85 C0           - test eax,eax
D2GAME.dll+FDD5: 74 21           - je D2GAME.dll+FDF8
}

{
// ORIGINAL CODE - INJECTION POINT: D2GAME.dll+FE3B

D2GAME.dll+FE20: 5D                 - pop ebp
D2GAME.dll+FE21: 5F                 - pop edi
D2GAME.dll+FE22: 5E                 - pop esi
D2GAME.dll+FE23: B8 05 00 00 00     - mov eax,00000005
D2GAME.dll+FE28: 5B                 - pop ebx
D2GAME.dll+FE29: 83 C4 08           - add esp,08
D2GAME.dll+FE2C: C2 10 00           - ret 0010
D2GAME.dll+FE2F: 8B 4C 24 20        - mov ecx,[esp+20]
D2GAME.dll+FE33: 83 C1 20           - add ecx,20
D2GAME.dll+FE36: E8 95 13 FF FF     - call D2GAME.dll+11D0
// ---------- INJECTING HERE ----------
D2GAME.dll+FE3B: 3D 80 00 00 00     - cmp eax,00000080
// ---------- DONE INJECTING  ----------
D2GAME.dll+FE40: 72 DE              - jb D2GAME.dll+FE20
D2GAME.dll+FE42: 8B 4C 24 14        - mov ecx,[esp+14]
D2GAME.dll+FE46: 8A 41 15           - mov al,[ecx+15]
D2GAME.dll+FE49: 84 C0              - test al,al
D2GAME.dll+FE4B: 0F 84 81 00 00 00  - je D2GAME.dll+FED2
D2GAME.dll+FE51: 8B C5              - mov eax,ebp
D2GAME.dll+FE53: 99                 - cdq
D2GAME.dll+FE54: F7 7F 10           - idiv [edi+10]
D2GAME.dll+FE57: 8B 77 0C           - mov esi,[edi+0C]
D2GAME.dll+FE5A: 2B F0              - sub esi,eax
}

{
// ORIGINAL CODE - INJECTION POINT: D2GAME.dll+FECB

D2GAME.dll+FEB0: 5D              - pop ebp
D2GAME.dll+FEB1: 5F              - pop edi
D2GAME.dll+FEB2: 5E              - pop esi
D2GAME.dll+FEB3: B8 06 00 00 00  - mov eax,00000006
D2GAME.dll+FEB8: 5B              - pop ebx
D2GAME.dll+FEB9: 83 C4 08        - add esp,08
D2GAME.dll+FEBC: C2 10 00        - ret 0010
D2GAME.dll+FEBF: 8B 4C 24 20     - mov ecx,[esp+20]
D2GAME.dll+FEC3: 83 C1 20        - add ecx,20
D2GAME.dll+FEC6: E8 05 13 FF FF  - call D2GAME.dll+11D0
// ---------- INJECTING HERE ----------
D2GAME.dll+FECB: 3D 80 00 00 00  - cmp eax,00000080
// ---------- DONE INJECTING  ----------
D2GAME.dll+FED0: 72 DE           - jb D2GAME.dll+FEB0
D2GAME.dll+FED2: 8B 44 24 14     - mov eax,[esp+14]
D2GAME.dll+FED6: 8A 48 14        - mov cl,[eax+14]
D2GAME.dll+FED9: 84 C9           - test cl,cl
D2GAME.dll+FEDB: 74 0F           - je D2GAME.dll+FEEC
D2GAME.dll+FEDD: 5D              - pop ebp
D2GAME.dll+FEDE: 5F              - pop edi
D2GAME.dll+FEDF: 5E              - pop esi
D2GAME.dll+FEE0: B8 04 00 00 00  - mov eax,00000004
D2GAME.dll+FEE5: 5B              - pop ebx
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>134754</ID>
          <Description>"Type"</Description>
          <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:Unique
1:Set
2:Rare
</DropDownList>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Byte</VariableType>
          <Address>selectDropRarity</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>134834</ID>
      <Description>"Drop Rare Six Affix (MXL)"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Diablo II
  Version: 
  Date   : 2024-02-14
  Author : satandidnowrong
  Resource :
           https://d2mods.info/forum/viewtopic.php?t=62508#p483939

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(affixNumRare,D2Game.dll,8B 4F 04 BA C5 90 C6 6A F7 E2 03 C1 13 D5 89) // should be unique
registersymbol(affixNumRare)

affixNumRare+3:
  db BA 06 00 00 00 EB 13

[DISABLE]

affixNumRare+3:
  db BA C5 90 C6 6A F7 E2

unregistersymbol(*)

{
// ORIGINAL CODE - INJECTION POINT: D2Game.Ordinal10013+2128

D2Game.Ordinal10013+210D: 8B 4F 04              - mov ecx,[edi+04]
D2Game.Ordinal10013+2110: 03 C1                 - add eax,ecx
D2Game.Ordinal10013+2112: 13 D5                 - adc edx,ebp
D2Game.Ordinal10013+2114: 89 07                 - mov [edi],eax
D2Game.Ordinal10013+2116: 83 E0 01              - and eax,01
D2Game.Ordinal10013+2119: 83 C0 03              - add eax,03
D2Game.Ordinal10013+211C: 89 57 04              - mov [edi+04],edx
D2Game.Ordinal10013+211F: 89 44 24 24           - mov [esp+24],eax
D2Game.Ordinal10013+2123: EB 21                 - jmp D2Game.Ordinal10013+2146
D2Game.Ordinal10013+2125: 8B 4F 04              - mov ecx,[edi+04]
// ---------- INJECTING HERE ----------
D2Game.Ordinal10013+2128: BA C5 90 C6 6A        - mov edx,6AC690C5
// ---------- DONE INJECTING  ----------
D2Game.Ordinal10013+212D: F7 E2                 - mul edx
D2Game.Ordinal10013+212F: 03 C1                 - add eax,ecx
D2Game.Ordinal10013+2131: 13 D5                 - adc edx,ebp
D2Game.Ordinal10013+2133: 89 07                 - mov [edi],eax
D2Game.Ordinal10013+2135: 83 E0 07              - and eax,07
D2Game.Ordinal10013+2138: 89 57 04              - mov [edi+04],edx
D2Game.Ordinal10013+213B: 8B 14 85 58 D0 D1 6F  - mov edx,[eax*4+D2Game.dll+FD058]
D2Game.Ordinal10013+2142: 89 54 24 24           - mov [esp+24],edx
D2Game.Ordinal10013+2146: 8B 44 24 24           - mov eax,[esp+24]
D2Game.Ordinal10013+214A: 85 C0                 - test eax,eax
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>134832</ID>
      <Description>"Drop Jewel Four Affix (MXL)"</Description>
      <Color>7F7F7F</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Diablo II
  Version:
  Date   : 2024-02-14
  Author : satandidnowrong
  Resource :
           https://d2mods.info/forum/viewtopic.php?t=62508#p483939
           https://d2mods.info/forum/viewtopic.php?p=243423#p243423

  D2 MAX 47 AFFIX ON ITEMS
  DO NOT SET TOO HIGH
}

[ENABLE]

aobscanmodule(affixNumJewel,D2Game.dll,83 E0 01 83 C0 03) // should be unique

affixNumJewel:
  db B8 04 00 00 00 90

[DISABLE]

affixNumJewel:
  db 83 E0 01 83 C0 03


{
// ORIGINAL CODE - INJECTION POINT: D2Game.Ordinal10013+2116

D2Game.Ordinal10013+20FD: 33 ED           - xor ebp,ebp
D2Game.Ordinal10013+20FF: 83 F8 3A        - cmp eax,3A
D2Game.Ordinal10013+2102: 8B 07           - mov eax,[edi]
D2Game.Ordinal10013+2104: 75 1F           - jne D2Game.Ordinal10013+2125
D2Game.Ordinal10013+2106: B9 C5 90 C6 6A  - mov ecx,6AC690C5
D2Game.Ordinal10013+210B: F7 E1           - mul ecx
D2Game.Ordinal10013+210D: 8B 4F 04        - mov ecx,[edi+04]
D2Game.Ordinal10013+2110: 03 C1           - add eax,ecx
D2Game.Ordinal10013+2112: 13 D5           - adc edx,ebp
D2Game.Ordinal10013+2114: 89 07           - mov [edi],eax
// ---------- INJECTING HERE ----------
D2Game.Ordinal10013+2116: 83 E0 01        - and eax,01
// ---------- DONE INJECTING  ----------
D2Game.Ordinal10013+2119: 83 C0 03        - add eax,03
D2Game.Ordinal10013+211C: 89 57 04        - mov [edi+04],edx
D2Game.Ordinal10013+211F: 89 44 24 24     - mov [esp+24],eax
D2Game.Ordinal10013+2123: EB 21           - jmp D2Game.Ordinal10013+2146
D2Game.Ordinal10013+2125: 8B 4F 04        - mov ecx,[edi+04]
D2Game.Ordinal10013+2128: BA 06 00 00 00  - mov edx,00000006
D2Game.Ordinal10013+212D: EB 13           - jmp D2Game.Ordinal10013+2142
D2Game.Ordinal10013+212F: 03 C1           - add eax,ecx
D2Game.Ordinal10013+2131: 13 D5           - adc edx,ebp
D2Game.Ordinal10013+2133: 89 07           - mov [edi],eax
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>134823</ID>
      <Description>"Drop Replace Superior with Crafted"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Diablo II
  Version: 
  Date   : 2024-02-13
  Author : satandidnowrong
  Resources :
            https://d2mods.info/forum/viewtopic.php?t=62182#p481988

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(dropSupToCrafted,D2Game.dll,B8 03 00 00 00 5B 83 C4 08 C2 10) // should be unique

dropSupToCrafted:
  db B8 08
registersymbol(dropSupToCrafted)

[DISABLE]

dropSupToCrafted:
  db B8 03 00 00 00

unregistersymbol(dropSupToCrafted)

{
// ORIGINAL CODE - INJECTION POINT: D2Game.dll+FF5B

D2Game.dll+FF48: 99              - cdq 
D2Game.dll+FF49: F7 7F 34        - idiv [edi+34]
D2Game.dll+FF4C: 8B 77 30        - mov esi,[edi+30]
D2Game.dll+FF4F: 2B F0           - sub esi,eax
D2Game.dll+FF51: C1 E6 07        - shl esi,07
D2Game.dll+FF54: 85 F6           - test esi,esi
D2Game.dll+FF56: 7F 0F           - jg D2Game.dll+FF67
D2Game.dll+FF58: 5D              - pop ebp
D2Game.dll+FF59: 5F              - pop edi
D2Game.dll+FF5A: 5E              - pop esi
// ---------- INJECTING HERE ----------
D2Game.dll+FF5B: B8 03 00 00 00  - mov eax,00000003
// ---------- DONE INJECTING  ----------
D2Game.dll+FF60: 5B              - pop ebx
D2Game.dll+FF61: 83 C4 08        - add esp,08
D2Game.dll+FF64: C2 10 00        - ret 0010
D2Game.dll+FF67: 8B 6C 24 20     - mov ebp,[esp+20]
D2Game.dll+FF6B: 83 C5 20        - add ebp,20
D2Game.dll+FF6E: 8B CD           - mov ecx,ebp
D2Game.dll+FF70: E8 5B 12 FF FF  - call D2Game.dll+11D0
D2Game.dll+FF75: 3D 80 00 00 00  - cmp eax,00000080
D2Game.dll+FF7A: 72 DC           - jb D2Game.dll+FF58
D2Game.dll+FF7C: 8B 44 24 1C     - mov eax,[esp+1C]
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>134824</ID>
      <Description>"Drop Replace Normal with Superior"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Diablo II
  Version: 
  Date   : 2024-02-13
  Author : satandidnowrong
  Resources :
            https://d2mods.info/forum/viewtopic.php?t=62182#p481988

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(dropCraftedReplaceNormal,D2GAME.dll,B8 02 00 00 00 5B 83 C4 08 C2 10 00 8A) // should be unique

dropCraftedReplaceNormal:
  db B8 00
registersymbol(dropCraftedReplaceNormal)

[DISABLE]

dropCraftedReplaceNormal:
  db B8 02 00 00 00

unregistersymbol(dropCraftedReplaceNormal)

{
// ORIGINAL CODE - INJECTION POINT: D2GAME.dll+FCA2

D2GAME.dll+FC89: 69 C0 E4 00 00 00  - imul eax,eax,000000E4
D2GAME.dll+FC8F: 03 C2              - add eax,edx
D2GAME.dll+FC91: 85 C0              - test eax,eax
D2GAME.dll+FC93: 89 44 24 10        - mov [esp+10],eax
D2GAME.dll+FC97: 74 C5              - je D2GAME.dll+FC5E
D2GAME.dll+FC99: 8A 48 16           - mov cl,[eax+16]
D2GAME.dll+FC9C: 84 C9              - test cl,cl
D2GAME.dll+FC9E: 74 0E              - je D2GAME.dll+FCAE
D2GAME.dll+FCA0: 5F                 - pop edi
D2GAME.dll+FCA1: 5E                 - pop esi
// ---------- INJECTING HERE ----------
D2GAME.dll+FCA2: B8 02 00 00 00     - mov eax,00000002
// ---------- DONE INJECTING  ----------
D2GAME.dll+FCA7: 5B                 - pop ebx
D2GAME.dll+FCA8: 83 C4 08           - add esp,08
D2GAME.dll+FCAB: C2 10 00           - ret 0010
D2GAME.dll+FCAE: 8A 8E 29 01 00 00  - mov cl,[esi+00000129]
D2GAME.dll+FCB4: 84 C9              - test cl,cl
D2GAME.dll+FCB6: 74 0E              - je D2GAME.dll+FCC6
D2GAME.dll+FCB8: 5F                 - pop edi
D2GAME.dll+FCB9: 5E                 - pop esi
D2GAME.dll+FCBA: B8 07 00 00 00     - mov eax,00000007
D2GAME.dll+FCBF: 5B                 - pop ebx
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>134801</ID>
      <Description>"Drop Ethereal Chance (PD2)"</Description>
      <Options moAllowManualCollapseAndExpand="1"/>
      <Color>FFDFDF</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Diablo II
  Version: 
  Date   : 2024-02-12
  Author : satandidnowrong
  Resources :
            https://d2mods.info/forum/viewtopic.php?p=482047#p482047

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(dropChanceEthereal,D2GAME.dll,83 F8 05 7D 05 BF) // should be unique

dropChanceEthereal:
  cmp eax,#100 // Default to your flavour
               // Chance

[DISABLE]

dropChanceEthereal:
  db 83 F8 05 7D 05

{
// ORIGINAL CODE - INJECTION POINT: D2GAME.dll+EC1C

D2GAME.dll+EBFE: E8 5F BF FF FF        - call D2GAME.dll+AB62
D2GAME.dll+EC03: 85 C0                 - test eax,eax
D2GAME.dll+EC05: 75 7B                 - jne D2GAME.dll+EC82
D2GAME.dll+EC07: 57                    - push edi
D2GAME.dll+EC08: 56                    - push esi
D2GAME.dll+EC09: 33 FF                 - xor edi,edi
D2GAME.dll+EC0B: E8 DC B9 FF FF        - call D2GAME.dll+A5EC
D2GAME.dll+EC10: 8B C8                 - mov ecx,eax
D2GAME.dll+EC12: B8 64 00 00 00        - mov eax,00000064
D2GAME.dll+EC17: E8 64 25 FF FF        - call D2GAME.dll+1180
// ---------- INJECTING HERE ----------
D2GAME.dll+EC1C: 83 F8 05              - cmp eax,05
// ---------- DONE INJECTING  ----------
D2GAME.dll+EC1F: 7D 05                 - jnl D2GAME.dll+EC26
D2GAME.dll+EC21: BF 01 00 00 00        - mov edi,00000001
D2GAME.dll+EC26: F7 43 44 00 00 40 00  - test [ebx+44],Game.exe
D2GAME.dll+EC2D: 74 05                 - je D2GAME.dll+EC34
D2GAME.dll+EC2F: BF 01 00 00 00        - mov edi,00000001
D2GAME.dll+EC34: F6 83 80 00 00 00 04  - test byte ptr [ebx+00000080],04
D2GAME.dll+EC3B: 75 04                 - jne D2GAME.dll+EC41
D2GAME.dll+EC3D: 85 FF                 - test edi,edi
D2GAME.dll+EC3F: 74 40                 - je D2GAME.dll+EC81
D2GAME.dll+EC41: 56                    - push esi
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>134792</ID>
      <Description>"No Drop Ethereal"</Description>
      <Color>808080</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Diablo II
  Version:
  Date   : 2024-02-11
  Author : plaxor
  Modder ; satandidnowrong

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(toggleDropEthereal,D2Game.dll,7D 05 BF 01 00 00 00 F7) // should be unique

toggleDropEthereal:
  db EB

registersymbol(toggleDropEthereal)

[DISABLE]

toggleDropEthereal:
  db 7D 05 BF 01 00 00 00

{
// ORIGINAL CODE - INJECTION POINT: D2Game.dll+EC1F

D2Game.dll+EC03: 85 C0                 - test eax,eax
D2Game.dll+EC05: 75 7B                 - jne D2Game.dll+EC82
D2Game.dll+EC07: 57                    - push edi
D2Game.dll+EC08: 56                    - push esi
D2Game.dll+EC09: 33 FF                 - xor edi,edi
D2Game.dll+EC0B: E8 DC B9 FF FF        - call D2Game.dll+A5EC
D2Game.dll+EC10: 8B C8                 - mov ecx,eax
D2Game.dll+EC12: B8 64 00 00 00        - mov eax,00000064
D2Game.dll+EC17: E8 64 25 FF FF        - call D2Game.dll+1180
D2Game.dll+EC1C: 83 F8 05              - cmp eax,05
// ---------- INJECTING HERE ----------
D2Game.dll+EC1F: 7D 05                 - jnl D2Game.dll+EC26
// ---------- DONE INJECTING  ----------
D2Game.dll+EC21: BF 01 00 00 00        - mov edi,00000001
D2Game.dll+EC26: F7 43 44 00 00 40 00  - test [ebx+44],Game.exe
D2Game.dll+EC2D: 74 05                 - je D2Game.dll+EC34
D2Game.dll+EC2F: BF 01 00 00 00        - mov edi,00000001
D2Game.dll+EC34: F6 83 80 00 00 00 04  - test byte ptr [ebx+00000080],04
D2Game.dll+EC3B: 75 04                 - jne D2Game.dll+EC41
D2Game.dll+EC3D: 85 FF                 - test edi,edi
D2Game.dll+EC3F: 74 40                 - je D2Game.dll+EC81
D2Game.dll+EC41: 56                    - push esi
D2Game.dll+EC42: E8 B5 C7 FF FF        - call D2Game.dll+B3FC
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>134786</ID>
      <Description>"Enable Set Ethereal (PD2)"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Diablo II
  Version:
  Date   : 2024-02-12
  Author : satandidnowrong
  Resources :
            https://d2mods.info/forum/viewtopic.php?f=8&amp;t=58689#p459811

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(dropSetEthereal,D2GAME.dll,83 E8 04 0F 84 85 00 00 00) // should be unique

dropSetEthereal:
  sub eax,04
  nop 6

[DISABLE]

dropSetEthereal:
  db 83 E8 04 0F 84 85 00 00 00

{
// ORIGINAL CODE - INJECTION POINT: D2GAME.dll+EBF4

D2GAME.dll+EBD1: 85 C0              - test eax,eax
D2GAME.dll+EBD3: 0F 84 A9 00 00 00  - je D2GAME.dll+EC82
D2GAME.dll+EBD9: 56                 - push esi
D2GAME.dll+EBDA: E8 91 BD FF FF     - call D2GAME.dll+A970
D2GAME.dll+EBDF: 85 C0              - test eax,eax
D2GAME.dll+EBE1: 0F 84 9B 00 00 00  - je D2GAME.dll+EC82
D2GAME.dll+EBE7: 56                 - push esi
D2GAME.dll+EBE8: E8 AB BC FF FF     - call D2GAME.dll+A898
D2GAME.dll+EBED: 48                 - dec eax
D2GAME.dll+EBEE: 0F 84 8E 00 00 00  - je D2GAME.dll+EC82
// ---------- INJECTING HERE ----------
D2GAME.dll+EBF4: 83 E8 04           - sub eax,04
// ---------- DONE INJECTING  ----------
D2GAME.dll+EBF7: 0F 84 85 00 00 00  - je D2GAME.dll+EC82
D2GAME.dll+EBFD: 56                 - push esi
D2GAME.dll+EBFE: E8 5F BF FF FF     - call D2GAME.dll+AB62
D2GAME.dll+EC03: 85 C0              - test eax,eax
D2GAME.dll+EC05: 75 7B              - jne D2GAME.dll+EC82
D2GAME.dll+EC07: 57                 - push edi
D2GAME.dll+EC08: 56                 - push esi
D2GAME.dll+EC09: 33 FF              - xor edi,edi
D2GAME.dll+EC0B: E8 DC B9 FF FF     - call D2GAME.dll+A5EC
D2GAME.dll+EC10: 8B C8              - mov ecx,eax
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>134811</ID>
      <Description>"Ethereal Complete Set"</Description>
      <Color>7F7F7F</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Diablo II
  Version: 
  Date   : 2024-02-13
  Author : satandidnowrong
  Resources :
            https://d2mods.info/forum/viewtopic.php?t=62182#p481988

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(ethCompleteSet,D2Game.dll,83 E8 04 66 0F 1F 44 00 00) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  db 83 E8 04
code:
  nop word ptr [eax+eax+00]
  jmp return

ethCompleteSet:
  jmp newmem
  nop 4
return:
registersymbol(ethCompleteSet)

[DISABLE]

ethCompleteSet:
  db 83 E8 04 66 0F 1F 44 00 00

unregistersymbol(ethCompleteSet)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: D2Game.dll+EBF4

D2Game.dll+EBD1: 85 C0              - test eax,eax
D2Game.dll+EBD3: 0F 84 A9 00 00 00  - je D2Game.dll+EC82
D2Game.dll+EBD9: 56                 - push esi
D2Game.dll+EBDA: E8 91 BD FF FF     - call D2Game.dll+A970
D2Game.dll+EBDF: 85 C0              - test eax,eax
D2Game.dll+EBE1: 0F 84 9B 00 00 00  - je D2Game.dll+EC82
D2Game.dll+EBE7: 56                 - push esi
D2Game.dll+EBE8: E8 AB BC FF FF     - call D2Game.dll+A898
D2Game.dll+EBED: 48                 - dec eax
D2Game.dll+EBEE: 0F 84 8E 00 00 00  - je D2Game.dll+EC82
// ---------- INJECTING HERE ----------
D2Game.dll+EBF4: 83 E8 04           - sub eax,04
// ---------- DONE INJECTING  ----------
D2Game.dll+EBF7: 66 0F 1F 44 00 00  - nop word ptr [eax+eax+00]
D2Game.dll+EBFD: 56                 - push esi
D2Game.dll+EBFE: E8 5F BF FF FF     - call D2Game.dll+AB62
D2Game.dll+EC03: 85 C0              - test eax,eax
D2Game.dll+EC05: 75 7B              - jne D2Game.dll+EC82
D2Game.dll+EC07: 57                 - push edi
D2Game.dll+EC08: 56                 - push esi
D2Game.dll+EC09: 33 FF              - xor edi,edi
D2Game.dll+EC0B: E8 DC B9 FF FF     - call D2Game.dll+A5EC
D2Game.dll+EC10: 8B C8              - mov ecx,eax
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>134793</ID>
      <Description>"Drop Increase Item Limit"</Description>
      <Color>7F7F7F</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Diablo II
  Version: 
  Date   : 2024-02-12
  Author : satandidnowrong
  Resources :
            https://d2mods.info/forum/viewtopic.php?p=497052#p497052

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(itemDropLimit,D2GAME.dll,C7 45 2C 06 00 00 00) // should be unique

itemDropLimit:
  mov [ebp+2C],0000000C

registersymbol(itemDropLimit)

[DISABLE]

itemDropLimit:
  db C7 45 2C 06 00 00 00

{
// ORIGINAL CODE - INJECTION POINT: D2GAME.dll+123D7

D2GAME.dll+123BB: 85 C0                 - test eax,eax
D2GAME.dll+123BD: 75 07                 - jne D2GAME.dll+123C6
D2GAME.dll+123BF: 8D 44 24 34           - lea eax,[esp+34]
D2GAME.dll+123C3: 89 45 28              - mov [ebp+28],eax
D2GAME.dll+123C6: C7 00 00 00 00 00     - mov [eax],00000000
D2GAME.dll+123CC: 8B 45 24              - mov eax,[ebp+24]
D2GAME.dll+123CF: 85 C0                 - test eax,eax
D2GAME.dll+123D1: 75 68                 - jne D2GAME.dll+1243B
D2GAME.dll+123D3: 85 FF                 - test edi,edi
D2GAME.dll+123D5: 7F 07                 - jg D2GAME.dll+123DE
// ---------- INJECTING HERE ----------
D2GAME.dll+123D7: C7 45 2C 06 00 00 00  - mov [ebp+2C],00000006
// ---------- DONE INJECTING  ----------
D2GAME.dll+123DE: 8B 42 10              - mov eax,[edx+10]
D2GAME.dll+123E1: 85 C0                 - test eax,eax
D2GAME.dll+123E3: 89 54 24 38           - mov [esp+38],edx
D2GAME.dll+123E7: 7D 02                 - jnl D2GAME.dll+123EB
D2GAME.dll+123E9: F7 D8                 - neg eax
D2GAME.dll+123EB: BF 01 00 00 00        - mov edi,00000001
D2GAME.dll+123F0: 3B C7                 - cmp eax,edi
D2GAME.dll+123F2: 89 44 24 3C           - mov [esp+3C],eax
D2GAME.dll+123F6: 7F 04                 - jg D2GAME.dll+123FC
D2GAME.dll+123F8: 89 7C 24 3C           - mov [esp+3C],edi
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>134787</ID>
      <Description>"Drop Identified Items (PD2)"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Diablo II
  Version:
  Date   : 2024-02-12
  Author : satandidnowrong
  Resources :
            https://d2mods.info/forum/viewtopic.php?f=8&amp;t=58689#p459811

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(dropIdentifiedSet,D2GAME.dll,6A 00 6A 10 56 E8 AB) // should be unique
aobscanmodule(dropIdentifiedUnique,D2GAME.dll,6A 00 6A 10 53) // should be unique
aobscanmodule(dropIdentifiedRare,D2GAME.dll,6A 00 6A 10 56 E8 12) // should be unique
aobscanmodule(dropIdentifiedMagic,D2GAME.dll,6A 00 6A 10 50 E8 94) // should be unique

dropIdentifiedSet:
  push 1
dropIdentifiedUnique:
  push 1
dropIdentifiedRare:
  push 1
dropIdentifiedMagic:
  push 1

[DISABLE]

dropIdentifiedSet:
  db 6A 00
dropIdentifiedUnique:
  db 6A 00
dropIdentifiedRare:
  db 6A 00
dropIdentifiedMagic:
  db 6A 00

{
// ORIGINAL CODE - INJECTION POINT: D2GAME.Ordinal10013+BE9

D2GAME.Ordinal10013+BCA: 5D                    - pop ebp
D2GAME.Ordinal10013+BCB: 33 C0                 - xor eax,eax
D2GAME.Ordinal10013+BCD: 5B                    - pop ebx
D2GAME.Ordinal10013+BCE: 81 C4 0C 08 00 00     - add esp,0000080C
D2GAME.Ordinal10013+BD4: C2 08 00              - ret 0008
D2GAME.Ordinal10013+BD7: 8B 44 C4 1C           - mov eax,[esp+eax*8+1C]
D2GAME.Ordinal10013+BDB: 8B B4 24 20 08 00 00  - mov esi,[esp+00000820]
D2GAME.Ordinal10013+BE2: 50                    - push eax
D2GAME.Ordinal10013+BE3: 56                    - push esi
D2GAME.Ordinal10013+BE4: E8 01 74 FF FF        - call D2GAME.dll+B1AA
// ---------- INJECTING HERE ----------
D2GAME.Ordinal10013+BE9: 6A 00                 - push 00
// ---------- DONE INJECTING  ----------
D2GAME.Ordinal10013+BEB: 6A 10                 - push 10
D2GAME.Ordinal10013+BED: 56                    - push esi
D2GAME.Ordinal10013+BEE: E8 AB 68 FF FF        - call D2GAME.dll+A65E
D2GAME.Ordinal10013+BF3: 6A 00                 - push 00
D2GAME.Ordinal10013+BF5: 6A 00                 - push 00
D2GAME.Ordinal10013+BF7: 6A 00                 - push 00
D2GAME.Ordinal10013+BF9: 56                    - push esi
D2GAME.Ordinal10013+BFA: 6A 00                 - push 00
D2GAME.Ordinal10013+BFC: 6A 04                 - push 04
D2GAME.Ordinal10013+BFE: E8 0D 6C FF FF        - call D2GAME.dll+A9D0
}

{
// ORIGINAL CODE - INJECTION POINT: D2GAME.dll+F6BD

D2GAME.dll+F6A0: 3B 48 28        - cmp ecx,[eax+28]
D2GAME.dll+F6A3: 75 4D           - jne D2GAME.dll+F6F2
D2GAME.dll+F6A5: 8B 5C 24 24     - mov ebx,[esp+24]
D2GAME.dll+F6A9: 56              - push esi
D2GAME.dll+F6AA: 53              - push ebx
D2GAME.dll+F6AB: E8 FA BA FF FF  - call D2GAME.dll+B1AA
D2GAME.dll+F6B0: 8B 44 24 20     - mov eax,[esp+20]
D2GAME.dll+F6B4: E8 07 F7 FF FF  - call D2GAME.dll+EDC0
D2GAME.dll+F6B9: 85 C0           - test eax,eax
D2GAME.dll+F6BB: 74 2D           - je D2GAME.dll+F6EA
// ---------- INJECTING HERE ----------
D2GAME.dll+F6BD: 6A 00           - push 00
// ---------- DONE INJECTING  ----------
D2GAME.dll+F6BF: 6A 10           - push 10
D2GAME.dll+F6C1: 53              - push ebx
D2GAME.dll+F6C2: E8 97 AF FF FF  - call D2GAME.dll+A65E
D2GAME.dll+F6C7: 6A 00           - push 00
D2GAME.dll+F6C9: 6A 00           - push 00
D2GAME.dll+F6CB: 6A 00           - push 00
D2GAME.dll+F6CD: 53              - push ebx
D2GAME.dll+F6CE: 6A 00           - push 00
D2GAME.dll+F6D0: 6A 03           - push 03
D2GAME.dll+F6D2: E8 F9 B2 FF FF  - call D2GAME.dll+A9D0
}

{
// ORIGINAL CODE - INJECTION POINT: D2GAME.Ordinal10013+2282

D2GAME.Ordinal10013+2261: 8B 44 24 0C        - mov eax,[esp+0C]
D2GAME.Ordinal10013+2265: 8B 4C 24 24        - mov ecx,[esp+24]
D2GAME.Ordinal10013+2269: 40                 - inc eax
D2GAME.Ordinal10013+226A: 3B C1              - cmp eax,ecx
D2GAME.Ordinal10013+226C: 89 44 24 0C        - mov [esp+0C],eax
D2GAME.Ordinal10013+2270: 0F 8C FA FE FF FF  - jl D2GAME.Ordinal10013+2170
D2GAME.Ordinal10013+2276: 85 DB              - test ebx,ebx
D2GAME.Ordinal10013+2278: 75 08              - jne D2GAME.Ordinal10013+2282
D2GAME.Ordinal10013+227A: 85 ED              - test ebp,ebp
D2GAME.Ordinal10013+227C: 0F 84 9A 00 00 00  - je D2GAME.Ordinal10013+231C
// ---------- INJECTING HERE ----------
D2GAME.Ordinal10013+2282: 6A 00              - push 00
// ---------- DONE INJECTING  ----------
D2GAME.Ordinal10013+2284: 6A 10              - push 10
D2GAME.Ordinal10013+2286: 56                 - push esi
D2GAME.Ordinal10013+2287: E8 12 52 FF FF     - call D2GAME.dll+A65E
D2GAME.Ordinal10013+228C: 33 FF              - xor edi,edi
D2GAME.Ordinal10013+228E: 8B FF              - mov edi,edi
D2GAME.Ordinal10013+2290: 57                 - push edi
D2GAME.Ordinal10013+2291: 56                 - push esi
D2GAME.Ordinal10013+2292: E8 6D 55 FF FF     - call D2GAME.dll+A9C4
D2GAME.Ordinal10013+2297: 0F B7 C0           - movzx eax,ax
D2GAME.Ordinal10013+229A: 50                 - push eax
}

{
// ORIGINAL CODE - INJECTION POINT: D2GAME.dll+104C0

D2GAME.dll+104AF: 66 85 ED        - test bp,bp
D2GAME.dll+104B2: 75 0A           - jne D2GAME.dll+104BE
D2GAME.dll+104B4: 5F              - pop edi
D2GAME.dll+104B5: 5E              - pop esi
D2GAME.dll+104B6: 5D              - pop ebp
D2GAME.dll+104B7: 33 C0           - xor eax,eax
D2GAME.dll+104B9: 5B              - pop ebx
D2GAME.dll+104BA: 59              - pop ecx
D2GAME.dll+104BB: C2 08 00        - ret 0008
D2GAME.dll+104BE: 8B 06           - mov eax,[esi]
// ---------- INJECTING HERE ----------
D2GAME.dll+104C0: 6A 00           - push 00
// ---------- DONE INJECTING  ----------
D2GAME.dll+104C2: 6A 10           - push 10
D2GAME.dll+104C4: 50              - push eax
D2GAME.dll+104C5: E8 94 A1 FF FF  - call D2GAME.dll+A65E
D2GAME.dll+104CA: 8B 4C 24 1C     - mov ecx,[esp+1C]
D2GAME.dll+104CE: 8B 06           - mov eax,[esi]
D2GAME.dll+104D0: 51              - push ecx
D2GAME.dll+104D1: E8 0A 39 00 00  - call D2GAME.Ordinal10013+C20
D2GAME.dll+104D6: 5F              - pop edi
D2GAME.dll+104D7: 5E              - pop esi
D2GAME.dll+104D8: 5D              - pop ebp
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>134864</ID>
      <Description>"Drop Identified Items (MXL)"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Diablo II
  Version: 
  Date   : 2024-02-27
  Author : User

  This script does blah blah blah
}

{ Game   : Diablo II
  Version: 
  Date   : 2024-02-27
  Author : User

  This script does blah blah blah
}

{ Game   : Diablo II
  Version: 
  Date   : 2024-02-27
  Author : satandidnowrong

  D2Game.dll 6A 00 6A 10 ?? E8 ??
}

[ENABLE]

aobscanmodule(dropIdentifiedCrafted,D2Game.dll,6A 00 6A 10 56 E8 E2) // should be unique
aobscanmodule(dropIdentifiedCycle0,D2Game.dll,6A 00 6A 10 50 E8 52) // should be unique
aobscanmodule(dropIdentifiedCycle1,D2Game.dll,6A 00 6A 10 56 E8 B2) // should be unique

dropIdentifiedCrafted:
  push 1
dropIdentifiedCycle0:
  push 1
dropIdentifiedCycle1:
  push 1

registersymbol(dropIdentifiedCrafted)
registersymbol(dropIdentifiedCycle0)
registersymbol(dropIdentifiedCycle1)

[DISABLE]

dropIdentifiedCrafted:
  db 6A 00
dropIdentifiedCycle0:
  db 6A 00
dropIdentifiedCycle1:
  db 6A 00

unregistersymbol(*)

{
// ORIGINAL CODE - INJECTION POINT: D2Game.Ordinal10013+1CB2

D2Game.Ordinal10013+1C93: 8B 7C 24 10        - mov edi,[esp+10]
D2Game.Ordinal10013+1C97: 8B 44 24 14        - mov eax,[esp+14]
D2Game.Ordinal10013+1C9B: 57                 - push edi
D2Game.Ordinal10013+1C9C: 50                 - push eax
D2Game.Ordinal10013+1C9D: 56                 - push esi
D2Game.Ordinal10013+1C9E: E8 51 65 FF FF     - call D2Game.dll+B3B4
D2Game.Ordinal10013+1CA3: 47                 - inc edi
D2Game.Ordinal10013+1CA4: 89 7C 24 10        - mov [esp+10],edi
D2Game.Ordinal10013+1CA8: FF 4C 24 1C        - dec [esp+1C]
D2Game.Ordinal10013+1CAC: 0F 85 52 FE FF FF  - jne D2Game.Ordinal10013+1B04
// ---------- INJECTING HERE ----------
D2Game.Ordinal10013+1CB2: 6A 00              - push 00
// ---------- DONE INJECTING  ----------
D2Game.Ordinal10013+1CB4: 6A 10              - push 10
D2Game.Ordinal10013+1CB6: 56                 - push esi
D2Game.Ordinal10013+1CB7: E8 E2 57 FF FF     - call D2Game.dll+A65E
D2Game.Ordinal10013+1CBC: 33 FF              - xor edi,edi
D2Game.Ordinal10013+1CBE: 8B FF              - mov edi,edi
D2Game.Ordinal10013+1CC0: 57                 - push edi
D2Game.Ordinal10013+1CC1: 56                 - push esi
D2Game.Ordinal10013+1CC2: E8 3D 5B FF FF     - call D2Game.dll+A9C4
D2Game.Ordinal10013+1CC7: 0F B7 C8           - movzx ecx,ax
D2Game.Ordinal10013+1CCA: 51                 - push ecx
}

{
// ORIGINAL CODE - INJECTION POINT: D2Game.dll+E300C

D2Game.dll+E2FF9: CC                 - int 3 
D2Game.dll+E2FFA: CC                 - int 3 
D2Game.dll+E2FFB: CC                 - int 3 
D2Game.dll+E2FFC: CC                 - int 3 
D2Game.dll+E2FFD: CC                 - int 3 
D2Game.dll+E2FFE: CC                 - int 3 
D2Game.dll+E2FFF: CC                 - int 3 
D2Game.dll+E3000: 81 FA FD 00 00 00  - cmp edx,000000FD
D2Game.dll+E3006: 75 17              - jne D2Game.dll+E301F
D2Game.dll+E3008: 8B 44 24 08        - mov eax,[esp+08]
// ---------- INJECTING HERE ----------
D2Game.dll+E300C: 6A 00              - push 00
// ---------- DONE INJECTING  ----------
D2Game.dll+E300E: 6A 10              - push 10
D2Game.dll+E3010: 50                 - push eax
D2Game.dll+E3011: E8 52 75 F2 FF     - call D2Game.dll+A568
D2Game.dll+E3016: 85 C0              - test eax,eax
D2Game.dll+E3018: 75 05              - jne D2Game.dll+E301F
D2Game.dll+E301A: B0 01              - mov al,01
D2Game.dll+E301C: C2 0C 00           - ret 000C
D2Game.dll+E301F: 32 C0              - xor al,al
D2Game.dll+E3021: C2 0C 00           - ret 000C
D2Game.dll+E3024: CC                 - int 3 
}

{
// ORIGINAL CODE - INJECTION POINT: D2Game.dll+103A2

D2Game.dll+1037D: 56              - push esi
D2Game.dll+1037E: E8 AF A1 FF FF  - call D2Game.dll+A532
D2Game.dll+10383: 68 72 03 00 00  - push 00000372
D2Game.dll+10388: E8 4D 9F FF FF  - call D2Game.dll+A2DA
D2Game.dll+1038D: 50              - push eax
D2Game.dll+1038E: 68 F9 9F D1 6F  - push D2Game.dll+F9FF9
D2Game.dll+10393: E8 2A 9F FF FF  - call D2Game.dll+A2C2
D2Game.dll+10398: 83 C4 0C        - add esp,0C
D2Game.dll+1039B: 6A FF           - push -01
D2Game.dll+1039D: E8 9A 26 FF FF  - call D2Game.dll+2A3C
// ---------- INJECTING HERE ----------
D2Game.dll+103A2: 6A 00           - push 00
// ---------- DONE INJECTING  ----------
D2Game.dll+103A4: 6A 10           - push 10
D2Game.dll+103A6: 56              - push esi
D2Game.dll+103A7: E8 B2 A2 FF FF  - call D2Game.dll+A65E
D2Game.dll+103AC: 5F              - pop edi
D2Game.dll+103AD: 5D              - pop ebp
D2Game.dll+103AE: B8 01 00 00 00  - mov eax,00000001
D2Game.dll+103B3: 5B              - pop ebx
D2Game.dll+103B4: 59              - pop ecx
D2Game.dll+103B5: C2 04 00        - ret 0004
D2Game.dll+103B8: CC              - int 3 
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>134775</ID>
      <Description>"Ignore Equip Lvl Requirement"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Diablo II
  Version:
  Date   : 2024-02-11
  Author : plaxor
  Modder ; satandidnowrong

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(equipLvlReqIgnore,D2COMMON.dll,81 EC 10 02 00 00 53) // should be unique

equipLvlReqIgnore:
  xor eax, eax
  ret
  nop 3

[DISABLE]
equipLvlReqIgnore:
  db 81 EC 10 02 00 00

{
// ORIGINAL CODE - INJECTION POINT: D2COMMON.Ordinal10463+A0

D2COMMON.Ordinal10463+96: CC                 - int 3 
D2COMMON.Ordinal10463+97: CC                 - int 3 
D2COMMON.Ordinal10463+98: CC                 - int 3 
D2COMMON.Ordinal10463+99: CC                 - int 3 
D2COMMON.Ordinal10463+9A: CC                 - int 3 
D2COMMON.Ordinal10463+9B: CC                 - int 3 
D2COMMON.Ordinal10463+9C: CC                 - int 3 
D2COMMON.Ordinal10463+9D: CC                 - int 3 
D2COMMON.Ordinal10463+9E: CC                 - int 3 
D2COMMON.Ordinal10463+9F: CC                 - int 3 
// ---------- INJECTING HERE ----------
D2COMMON.Ordinal10463+A0: 81 EC 10 02 00 00  - sub esp,00000210
// ---------- DONE INJECTING  ----------
D2COMMON.Ordinal10463+A6: 53                 - push ebx
D2COMMON.Ordinal10463+A7: 55                 - push ebp
D2COMMON.Ordinal10463+A8: 8B D9              - mov ebx,ecx
D2COMMON.Ordinal10463+AA: 85 DB              - test ebx,ebx
D2COMMON.Ordinal10463+AC: 56                 - push esi
D2COMMON.Ordinal10463+AD: 57                 - push edi
D2COMMON.Ordinal10463+AE: 89 54 24 10        - mov [esp+10],edx
D2COMMON.Ordinal10463+B2: 89 5C 24 1C        - mov [esp+1C],ebx
D2COMMON.Ordinal10463+B6: 74 10              - je D2COMMON.Ordinal10463+C8
D2COMMON.Ordinal10463+B8: 83 3B 04           - cmp dword ptr [ebx],04
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>134794</ID>
      <Description>"Experience Gain Modifier and No Penalty"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <Color>FFDFDF</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Diablo II
  Version: 
  Date   : 2024-02-12
  Author : satandidnowrong
  Resources :
            https://d2mods.info/forum/viewtopic.php?p=496186#p496186

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(expPenaltyMlvl,D2Game.dll,74 0A B9 00 01 00 00) // should be unique
aobscanmodule(expPenaltyMlvlMod,D2Game.dll,8B C2 C3 CC CC CC CC CC CC CC 85) // should be unique
registersymbol(expPenaltyMlvl)
registersymbol(expPenaltyMlvlMod)
registersymbol(expModOperator)
registersymbol(expModAddAmount)
registersymbol(expModMulAmount)
alloc(expModOperator,1)
alloc(expModAddAmount,4)
alloc(expModMulAmount,4)
alloc(newmem,256)
label(return)

expPenaltyMlvl:
  db eb
expModOperator: // Set your default flavour
  dd #2         // 0, None
                // 1, Add
                // 2, Multiply
expModAddAmount:// Set your default flavour
  dd #0
expModMulAmount:// Set your default flavour
  dd #5

expPenaltyMlvlMod:
  jmp newmem
newmem:
  cmp byte ptr [expModOperator],0
  jne @f
  mov eax,edx
  jmp return
@@:
  cmp byte ptr [expModOperator],1
  jne @f
  add edx, dword ptr [expModAddAmount]
  mov eax,edx
  jmp return
@@:
  cmp byte ptr [expModOperator],2
  jne return
  movzx eax,byte ptr [expModMulAmount]
  mul edx
return:
  ret

[DISABLE]

expPenaltyMlvl:
  db 74 0A B9 00 01 00 00
expPenaltyMlvlMod:
  db 8B C2 C3 CC CC CC

unregistersymbol(*)
dealloc(*)


{
// ORIGINAL CODE - INJECTION POINT: D2Game.dll+DAA7A

D2Game.dll+DAA59: 83 F8 19              - cmp eax,19
D2Game.dll+DAA5C: 7C 04                 - jl D2Game.dll+DAA62
D2Game.dll+DAA5E: 85 C9                 - test ecx,ecx
D2Game.dll+DAA60: 7F 1F                 - jg D2Game.dll+DAA81
D2Game.dll+DAA62: 2B C8                 - sub ecx,eax
D2Game.dll+DAA64: 83 F9 0B              - cmp ecx,0B
D2Game.dll+DAA67: 7C 05                 - jl D2Game.dll+DAA6E
D2Game.dll+DAA69: B9 0A 00 00 00        - mov ecx,0000000A
D2Game.dll+DAA6E: 8B 04 8D 48 A0 D1 6F  - mov eax,[ecx*4+D2Game.dll+FA048]
D2Game.dll+DAA75: 3D 00 01 00 00        - cmp eax,00000100
// ---------- INJECTING HERE ----------
D2Game.dll+DAA7A: 74 0A                 - je D2Game.dll+DAA86
// ---------- DONE INJECTING  ----------
D2Game.dll+DAA7C: B9 00 01 00 00        - mov ecx,00000100
D2Game.dll+DAA81: E9 4A 6A F2 FF        - jmp D2Game.dll+14D0
D2Game.dll+DAA86: 8B C2                 - mov eax,edx
D2Game.dll+DAA88: C3                    - ret 
D2Game.dll+DAA89: CC                    - int 3 
D2Game.dll+DAA8A: CC                    - int 3 
D2Game.dll+DAA8B: CC                    - int 3 
D2Game.dll+DAA8C: CC                    - int 3 
D2Game.dll+DAA8D: CC                    - int 3 
D2Game.dll+DAA8E: CC                    - int 3 
}

{
// ORIGINAL CODE - INJECTION POINT: D2Game.dll+DAA86

D2Game.dll+DAA60: 7F 1F                 - jg D2Game.dll+DAA81
D2Game.dll+DAA62: 2B C8                 - sub ecx,eax
D2Game.dll+DAA64: 83 F9 0B              - cmp ecx,0B
D2Game.dll+DAA67: 7C 05                 - jl D2Game.dll+DAA6E
D2Game.dll+DAA69: B9 0A 00 00 00        - mov ecx,0000000A
D2Game.dll+DAA6E: 8B 04 8D 48 A0 D1 6F  - mov eax,[ecx*4+D2Game.dll+FA048]
D2Game.dll+DAA75: 3D 00 01 00 00        - cmp eax,00000100
D2Game.dll+DAA7A: 74 0A                 - je D2Game.dll+DAA86
D2Game.dll+DAA7C: B9 00 01 00 00        - mov ecx,00000100
D2Game.dll+DAA81: E9 4A 6A F2 FF        - jmp D2Game.dll+14D0
// ---------- INJECTING HERE ----------
D2Game.dll+DAA86: 8B C2                 - mov eax,edx
// ---------- DONE INJECTING  ----------
D2Game.dll+DAA88: C3                    - ret 
D2Game.dll+DAA89: CC                    - int 3 
D2Game.dll+DAA8A: CC                    - int 3 
D2Game.dll+DAA8B: CC                    - int 3 
D2Game.dll+DAA8C: CC                    - int 3 
D2Game.dll+DAA8D: CC                    - int 3 
D2Game.dll+DAA8E: CC                    - int 3 
D2Game.dll+DAA8F: CC                    - int 3 
D2Game.dll+DAA90: 85 F6                 - test esi,esi
D2Game.dll+DAA92: 74 40                 - je D2Game.dll+DAAD4
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>134795</ID>
          <Description>"Operator"</Description>
          <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:No Mlvl/Clvl Penalty
1:Add Amount (No Penalty)
2:Multiply Amount (No Penalty)
</DropDownList>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Byte</VariableType>
          <Address>expModOperator</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>134796</ID>
          <Description>"Add Amount"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>expModAddAmount</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>134797</ID>
          <Description>"Multiply Amount"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>expModMulAmount</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>134809</ID>
          <Description>"Too High, Crash"</Description>
          <Color>0000FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>134799</ID>
      <Description>"Skill Per Level (NOT with PlugY)"</Description>
      <Color>FFDFDF</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Diablo II
  Version: 
  Date   : 2024-02-12
  Author : satandidnowrong
  Resources :
            https://d2mods.info/resources/diablo_ii_code_editing%20v2.01.htm

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(skillPerLvl,D2Game.dll,6A 00 53 6A 05) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  mov eax,#4 // Skill Per Lvl
  imul eax,ebx

code:
  push 00
  push eax
  push 05
  jmp return

skillPerLvl:
  jmp newmem
return:
registersymbol(skillPerLvl)

[DISABLE]

skillPerLvl:
  db 6A 00 53 6A 05

unregistersymbol(skillPerLvl)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: D2Game.dll+EB1DE

D2Game.dll+EB1C4: 6A 0A           - push 0A
D2Game.dll+EB1C6: 56              - push esi
D2Game.dll+EB1C7: E8 A6 F2 F1 FF  - call D2Game.dll+A472
D2Game.dll+EB1CC: 0F BE 47 50     - movsx eax,byte ptr [edi+50]
D2Game.dll+EB1D0: 0F AF C3        - imul eax,ebx
D2Game.dll+EB1D3: 6A 00           - push 00
D2Game.dll+EB1D5: 50              - push eax
D2Game.dll+EB1D6: 6A 04           - push 04
skillPerLvl: 56              - push esi
D2Game.dll+EB1D9: E8 F4 F2 F1 FF  - call D2Game.dll+A4D2
// ---------- INJECTING HERE ----------
D2Game.dll+EB1DE: 6A 00           - push 00
// ---------- DONE INJECTING  ----------
D2Game.dll+EB1E0: 53              - push ebx
D2Game.dll+EB1E1: 6A 05           - push 05
D2Game.dll+EB1E3: 56              - push esi
D2Game.dll+EB1E4: E8 E9 F2 F1 FF  - call D2Game.dll+A4D2
D2Game.dll+EB1E9: 8B 7C 24 18     - mov edi,[esp+18]
D2Game.dll+EB1ED: 55              - push ebp
D2Game.dll+EB1EE: E8 2D 45 FA FF  - call D2Game.dll+8F720
D2Game.dll+EB1F3: 85 F6           - test esi,esi
D2Game.dll+EB1F5: 75 1F           - jne D2Game.dll+EB216
D2Game.dll+EB1F7: 68 58 05 00 00  - push 00000558
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>134800</ID>
      <Description>"Stat Per Level (NOT with PlugY)"</Description>
      <Color>FFDFDF</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Diablo II
  Version:
  Date   : 2024-02-12
  Author : satandidnowrong
  Resources :
            https://d2mods.info/resources/diablo_ii_code_editing%20v2.01.htm

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(statPerLvl,D2Game.dll,6A 00 50 6A 04 56) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  mov eax,#25 // Stat Per Lvl
  imul eax,ebx

code:
  push 00
  push eax
  push 04
  jmp return

statPerLvl:
  jmp newmem
return:
registersymbol(statPerLvl)

[DISABLE]

statPerLvl:
  db 6A 00 50 6A 04

unregistersymbol(statPerLvl)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: D2Game.dll+EB1D3

D2Game.dll+EB1B6: E8 B7 F2 F1 FF  - call D2Game.dll+A472
D2Game.dll+EB1BB: 56              - push esi
D2Game.dll+EB1BC: E8 9F F2 F1 FF  - call D2Game.dll+A460
D2Game.dll+EB1C1: 6A 00           - push 00
D2Game.dll+EB1C3: 50              - push eax
D2Game.dll+EB1C4: 6A 0A           - push 0A
D2Game.dll+EB1C6: 56              - push esi
D2Game.dll+EB1C7: E8 A6 F2 F1 FF  - call D2Game.dll+A472
D2Game.dll+EB1CC: 0F BE 47 50     - movsx eax,byte ptr [edi+50]
D2Game.dll+EB1D0: 0F AF C3        - imul eax,ebx
// ---------- INJECTING HERE ----------
D2Game.dll+EB1D3: 6A 00           - push 00
// ---------- DONE INJECTING  ----------
D2Game.dll+EB1D5: 50              - push eax
D2Game.dll+EB1D6: 6A 04           - push 04
D2Game.dll+EB1D8: 56              - push esi
D2Game.dll+EB1D9: E8 F4 F2 F1 FF  - call D2Game.dll+A4D2
skillPerLvl: E9 1D 4E 36 92  - jmp 02070000
D2Game.dll+EB1E3: 56              - push esi
D2Game.dll+EB1E4: E8 E9 F2 F1 FF  - call D2Game.dll+A4D2
D2Game.dll+EB1E9: 8B 7C 24 18     - mov edi,[esp+18]
D2Game.dll+EB1ED: 55              - push ebp
D2Game.dll+EB1EE: E8 2D 45 FA FF  - call D2Game.dll+8F720
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>134760</ID>
      <Description>"No Durability Loss (PD2)"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Diablo II
  Version:
  Date   : 2024-02-11
  Author : plaxor
  Modder ; satandidnowrong

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(durWeapon,D2GAME.dll,BB 02 00 00 00 75) // should be unique
aobscanmodule(durArmor,D2GAME.dll,BB 05 00 00 00 8B 47) // should be unique

durWeapon+1:
  db 00
durArmor+1:
  db 00

[DISABLE]
durWeapon:
  db BB 02 00 00 00
durArmor:
  db BB 05 00 00 00

{
// ORIGINAL CODE - INJECTION POINT: D2GAME.dll+12F15

D2GAME.dll+12EF6: 89 44 24 04        - mov [esp+04],eax
D2GAME.dll+12EFA: 75 08              - jne D2GAME.dll+12F04
D2GAME.dll+12EFC: 85 C0              - test eax,eax
D2GAME.dll+12EFE: 0F 84 71 02 00 00  - je D2GAME.dll+13175
D2GAME.dll+12F04: 56                 - push esi
D2GAME.dll+12F05: E8 66 7A FF FF     - call D2GAME.dll+A970
D2GAME.dll+12F0A: 85 C0              - test eax,eax
D2GAME.dll+12F0C: 0F 84 63 02 00 00  - je D2GAME.dll+13175
D2GAME.dll+12F12: 85 ED              - test ebp,ebp
D2GAME.dll+12F14: 53                 - push ebx
// ---------- INJECTING HERE ----------
D2GAME.dll+12F15: BB 00 00 00 00     - mov ebx,00000000
// ---------- DONE INJECTING  ----------
D2GAME.dll+12F1A: 75 19              - jne D2GAME.dll+12F35
D2GAME.dll+12F1C: 56                 - push esi
D2GAME.dll+12F1D: E8 8A 7A FF FF     - call D2GAME.dll+A9AC
D2GAME.dll+12F22: 85 C0              - test eax,eax
D2GAME.dll+12F24: 74 14              - je D2GAME.dll+12F3A
D2GAME.dll+12F26: 8B 44 24 10        - mov eax,[esp+10]
D2GAME.dll+12F2A: 8B 48 70           - mov ecx,[eax+70]
D2GAME.dll+12F2D: 85 C9              - test ecx,ecx
D2GAME.dll+12F2F: 0F 84 3F 02 00 00  - je D2GAME.dll+13174
D2GAME.dll+12F35: BB 00 00 00 00     - mov ebx,00000000
}

{
// ORIGINAL CODE - INJECTION POINT: D2GAME.dll+12F35

D2GAME.dll+12F15: BB 00 00 00 00     - mov ebx,00000000
D2GAME.dll+12F1A: 75 19              - jne D2GAME.dll+12F35
D2GAME.dll+12F1C: 56                 - push esi
D2GAME.dll+12F1D: E8 8A 7A FF FF     - call D2GAME.dll+A9AC
D2GAME.dll+12F22: 85 C0              - test eax,eax
D2GAME.dll+12F24: 74 14              - je D2GAME.dll+12F3A
D2GAME.dll+12F26: 8B 44 24 10        - mov eax,[esp+10]
D2GAME.dll+12F2A: 8B 48 70           - mov ecx,[eax+70]
D2GAME.dll+12F2D: 85 C9              - test ecx,ecx
D2GAME.dll+12F2F: 0F 84 3F 02 00 00  - je D2GAME.dll+13174
// ---------- INJECTING HERE ----------
D2GAME.dll+12F35: BB 00 00 00 00     - mov ebx,00000000
// ---------- DONE INJECTING  ----------
D2GAME.dll+12F3A: 8B 47 20           - mov eax,[edi+20]
D2GAME.dll+12F3D: B9 C5 90 C6 6A     - mov ecx,6AC690C5
D2GAME.dll+12F42: F7 E1              - mul ecx
D2GAME.dll+12F44: 8B 4F 24           - mov ecx,[edi+24]
D2GAME.dll+12F47: 33 ED              - xor ebp,ebp
D2GAME.dll+12F49: 03 C1              - add eax,ecx
D2GAME.dll+12F4B: 13 D5              - adc edx,ebp
D2GAME.dll+12F4D: 89 57 24           - mov [edi+24],edx
D2GAME.dll+12F50: 33 D2              - xor edx,edx
D2GAME.dll+12F52: B9 64 00 00 00     - mov ecx,00000064
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>134782</ID>
      <Description>"No Death"</Description>
      <Options moDeactivateChildrenAsWell="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Diablo II
  Version:
  Date   : 2024-02-11
  Author : plaxor
  Modder : satandidnowrong

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(noDeath,D2GAME.dll,2B C7 3D 00 01 00 00) // should be unique
alloc(newmem,$1000)
label(bOHK)

newmem:
  cmp [esi], 0
  je @f
  sub eax,edi
  cmp byte ptr [bOHK], 00
  je @f
  xor eax, eax
@@:
  cmp eax, 1
  jmp return
bOHK:
  db 00
noDeath:
  jmp newmem
  nop 2
return:

registersymbol(bOHK)

[DISABLE]
noDeath:
  db 2B C7 3D 00 01 00 00

unregistersymbol(*)
dealloc(*)

{
// ORIGINAL CODE - INJECTION POINT: D2GAME.dll+DE253

D2GAME.dll+DE23A: 51              - push ecx
D2GAME.dll+DE23B: 8B FE           - mov edi,esi
D2GAME.dll+DE23D: E8 2E D3 FF FF  - call D2GAME.dll+DB570
D2GAME.dll+DE242: 8B 7D 4C        - mov edi,[ebp+4C]
D2GAME.dll+DE245: 85 FF           - test edi,edi
D2GAME.dll+DE247: 7E 20           - jle D2GAME.dll+DE269
D2GAME.dll+DE249: 6A 00           - push 00
D2GAME.dll+DE24B: 6A 06           - push 06
D2GAME.dll+DE24D: 56              - push esi
D2GAME.dll+DE24E: E8 D7 C1 F2 FF  - call D2GAME.dll+A42A
// ---------- INJECTING HERE ----------
D2GAME.dll+DE253: 2B C7           - sub eax,edi
// ---------- DONE INJECTING  ----------
D2GAME.dll+DE255: 3D 00 01 00 00  - cmp eax,00000100
D2GAME.dll+DE25A: 7D 02           - jnl D2GAME.dll+DE25E
D2GAME.dll+DE25C: 33 C0           - xor eax,eax
D2GAME.dll+DE25E: 6A 00           - push 00
D2GAME.dll+DE260: 50              - push eax
D2GAME.dll+DE261: 6A 06           - push 06
D2GAME.dll+DE263: 56              - push esi
D2GAME.dll+DE264: E8 09 C2 F2 FF  - call D2GAME.dll+A472
D2GAME.dll+DE269: 8B 7D 3C        - mov edi,[ebp+3C]
D2GAME.dll+DE26C: 8B DE           - mov ebx,esi
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>134326</ID>
          <Description>"One Hit Kill"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
bOHK:
db 01

[DISABLE]
bOHK:
db 00
</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>134310</ID>
      <Description>"Monsters Are Vulnerable"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>// Author : plaxor

define(address, "D2Game.dll"+DBD4F)

[ENABLE]
assert(address, 64)
address:
  db 00

[DISABLE]
address:
  db 64
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>134870</ID>
          <Description>"Can Make Monsters Invulnerable"</Description>
          <Options moDeactivateChildrenAsWell="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>134871</ID>
              <Description>"Skel and Skel Archers in Den of Evil"</Description>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>134423</ID>
      <Description>"Attack Speed +300"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>// Author : plaxor

define(address, "D2Common.dll"+33502)
define(bytes, E8 19 07 00 00)

[ENABLE]
assert(address, bytes)
alloc(newmem, $1000)

newmem:
  cmp [edi], 0
  jne code
  add ebp, #300 // &lt;-- you can edit this

code:
  call D2Common.dll+33C20
  jmp return

address:
  jmp newmem
return:

[DISABLE]
address:
  db bytes

dealloc(newmem)

</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>134770</ID>
      <Description>"Melee Range +200"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Diablo II
  Version:
  Date   : 2024-02-11
  Author : plaxor
  Modder ; satandidnowrong

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(meleeRange,D2COMMON.dll,8B 44 24 04 85 C0 74 17 83 38 04 75 12 8B 40 04) // should be unique

meleeRange:
  mov al, #200 // range
  ret 4
  nop

[DISABLE]
meleeRange:
  db 8B 44 24 04 85 C0

{
// ORIGINAL CODE - INJECTION POINT: D2COMMON.Ordinal10696

D2COMMON.Ordinal10553+4C: 8B 44 24 08        - mov eax,[esp+08]
D2COMMON.Ordinal10553+50: 33 C9              - xor ecx,ecx
D2COMMON.Ordinal10553+52: 3B D0              - cmp edx,eax
D2COMMON.Ordinal10553+54: 0F 94 C1           - sete cl
D2COMMON.Ordinal10553+57: 8B C1              - mov eax,ecx
D2COMMON.Ordinal10553+59: C2 08 00           - ret 0008
D2COMMON.Ordinal10553+5C: CC                 - int 3 
D2COMMON.Ordinal10553+5D: CC                 - int 3 
D2COMMON.Ordinal10553+5E: CC                 - int 3 
D2COMMON.Ordinal10553+5F: CC                 - int 3 
// ---------- INJECTING HERE ----------
D2COMMON.Ordinal10696: 8B 44 24 04        - mov eax,[esp+04]
// ---------- DONE INJECTING  ----------
D2COMMON.Ordinal10696+4: 85 C0              - test eax,eax
D2COMMON.Ordinal10696+6: 74 17              - je D2COMMON.Ordinal10696+1F
D2COMMON.Ordinal10696+8: 83 38 04           - cmp dword ptr [eax],04
D2COMMON.Ordinal10696+B: 75 12              - jne D2COMMON.Ordinal10696+1F
D2COMMON.Ordinal10696+D: 8B 40 04           - mov eax,[eax+04]
D2COMMON.Ordinal10696+10: 50                 - push eax
D2COMMON.Ordinal10696+11: E8 6A EA 04 00     - call D2COMMON.Ordinal10695
D2COMMON.Ordinal10696+16: 8A 80 04 01 00 00  - mov al,[eax+00000104]
D2COMMON.Ordinal10696+1C: C2 04 00           - ret 0004
D2COMMON.Ordinal10696+1F: 32 C0              - xor al,al
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>134825</ID>
      <Description>"Cast Rate"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Diablo II
  Version: 
  Date   : 2024-02-13
  Author : sicksicksix
  Resource :
           https://fearlessrevolution.com/viewtopic.php?p=12253#p12253

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(castRate0,D2COMMON.dll,64 3D AF 00 00 00 7E 05 B8 AF 00 00 00) // should be unique
aobscanmodule(castRate1,D2COMMON.dll,0C 3D AF 00 00 00 7E 05 B8 AF 00 00 00) // should be unique

castRate0+06:
  nop 2
castRate1+06:
  nop 2

registersymbol(castRate0)
registersymbol(castRate1)

[DISABLE]

castRate0+06:
  db 7E 05 B8 AF 00 00 00
castRate1+06:
  db 7E 05 B8 AF 00 00 00

unregistersymbol(*)

{
// ORIGINAL CODE - INJECTION POINT: D2COMMON.Ordinal10819+96

D2COMMON.Ordinal10819+76: 8B C3              - mov eax,ebx
D2COMMON.Ordinal10819+78: 8B D7              - mov edx,edi
D2COMMON.Ordinal10819+7A: E8 F1 D9 FF FF     - call D2COMMON.Ordinal10441+40
D2COMMON.Ordinal10819+7F: 85 C0              - test eax,eax
D2COMMON.Ordinal10819+81: 74 6B              - je D2COMMON.Ordinal10819+EE
D2COMMON.Ordinal10819+83: 57                 - push edi
D2COMMON.Ordinal10819+84: B8 02 00 00 00     - mov eax,00000002
D2COMMON.Ordinal10819+89: E8 22 50 3A A0     - call ProjectDiablo.dll+1281C0
D2COMMON.Ordinal10819+8E: 83 C0 64           - add eax,64
D2COMMON.Ordinal10819+91: 3D AF 00 00 00     - cmp eax,000000AF
// ---------- INJECTING HERE ----------
D2COMMON.Ordinal10819+96: 7E 05              - jle D2COMMON.Ordinal10819+9D
// ---------- DONE INJECTING  ----------
D2COMMON.Ordinal10819+98: B8 AF 00 00 00     - mov eax,000000AF
D2COMMON.Ordinal10819+9D: 8B 4C 24 10        - mov ecx,[esp+10]
D2COMMON.Ordinal10819+A1: 8B 51 0C           - mov edx,[ecx+0C]
D2COMMON.Ordinal10819+A4: 0F AF D0           - imul edx,eax
D2COMMON.Ordinal10819+A7: B8 1F 85 EB 51     - mov eax,51EB851F
D2COMMON.Ordinal10819+AC: F7 E2              - mul edx
D2COMMON.Ordinal10819+AE: C1 EA 05           - shr edx,05
D2COMMON.Ordinal10819+B1: 85 D2              - test edx,edx
D2COMMON.Ordinal10819+B3: 7E 23              - jle D2COMMON.Ordinal10819+D8
D2COMMON.Ordinal10819+B5: 81 FA FF 7F 00 00  - cmp edx,00007FFF
}


{
// ORIGINAL CODE - INJECTION POINT: D2COMMON.Ordinal10819+497

D2COMMON.Ordinal10819+47A: EB 46              - jmp D2COMMON.Ordinal10819+4C2
D2COMMON.Ordinal10819+47C: 6A 00              - push 00
D2COMMON.Ordinal10819+47E: 6A 45              - push 45
D2COMMON.Ordinal10819+480: 57                 - push edi
D2COMMON.Ordinal10819+481: E8 DA 55 00 00     - call D2COMMON.Ordinal10973
D2COMMON.Ordinal10819+486: 83 F8 0F           - cmp eax,0F
D2COMMON.Ordinal10819+489: 7D 07              - jnl D2COMMON.Ordinal10819+492
D2COMMON.Ordinal10819+48B: B8 0F 00 00 00     - mov eax,0000000F
D2COMMON.Ordinal10819+490: EB 0C              - jmp D2COMMON.Ordinal10819+49E
D2COMMON.Ordinal10819+492: 3D AF 00 00 00     - cmp eax,000000AF
// ---------- INJECTING HERE ----------
D2COMMON.Ordinal10819+497: 7E 05              - jle D2COMMON.Ordinal10819+49E
// ---------- DONE INJECTING  ----------
D2COMMON.Ordinal10819+499: B8 AF 00 00 00     - mov eax,000000AF
D2COMMON.Ordinal10819+49E: 8B 4C 24 10        - mov ecx,[esp+10]
D2COMMON.Ordinal10819+4A2: 8B 51 0C           - mov edx,[ecx+0C]
D2COMMON.Ordinal10819+4A5: 0F AF D0           - imul edx,eax
D2COMMON.Ordinal10819+4A8: B8 1F 85 EB 51     - mov eax,51EB851F
D2COMMON.Ordinal10819+4AD: F7 E2              - mul edx
D2COMMON.Ordinal10819+4AF: C1 EA 05           - shr edx,05
D2COMMON.Ordinal10819+4B2: 85 D2              - test edx,edx
D2COMMON.Ordinal10819+4B4: 0F 8E BE FC FF FF  - jng D2COMMON.Ordinal10819+178
D2COMMON.Ordinal10819+4BA: 8B C2              - mov eax,edx
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>134424</ID>
      <Description>"Cast Rate x300"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>// Author : plaxor

define(address, "D2Common.dll"+331B1)
define(bytes, 8B 51 0C 0F AF D0)

[ENABLE]
assert(address, bytes)
alloc(newmem, $1000)

newmem:
  cmp [edi], 0
  jne code
  add eax, #300 // &lt;-- you can edit this

code:
  mov edx,[ecx+0C]
  imul edx,eax
  jmp return

address:
  jmp newmem
  nop
return:

[DISABLE]
address:
  db bytes

dealloc(newmem)

</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>134781</ID>
      <Description>"No Mana Decrease (MXL, Some PD2)"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Diablo II
  Version:
  Date   : 2024-02-11
  Author : plaxor
  Modder : satandidnowrong

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(noManaDec0,D2GAME.dll,74 0E 8B 0D E0 8B ?? ?? 8A 46) // should be unique
aobscanmodule(noManaDec1,D2GAME.dll,74 13 8B 54 24 30) // should be unique

noManaDec0:
  db 74 00
noManaDec1:
  db EB

[DISABLE]
noManaDec0:
  db 74 0E
noManaDec1:
  db 74 13

{
// ORIGINAL CODE - INJECTION POINT: D2GAME.dll+A1C6C

D2GAME.dll+A1C45: 0F 84 27 FE FF FF     - je D2GAME.dll+A1A72
D2GAME.dll+A1C4B: 8B 44 24 34           - mov eax,[esp+34]
D2GAME.dll+A1C4F: 85 C0                 - test eax,eax
D2GAME.dll+A1C51: 0F 84 9E 00 00 00     - je D2GAME.dll+A1CF5
D2GAME.dll+A1C57: 8B 44 24 18           - mov eax,[esp+18]
D2GAME.dll+A1C5B: 85 C0                 - test eax,eax
D2GAME.dll+A1C5D: 74 49                 - je D2GAME.dll+A1CA8
D2GAME.dll+A1C5F: 0F BF 56 2C           - movsx edx,word ptr [esi+2C]
D2GAME.dll+A1C63: 8B 04 95 38 73 34 03  - mov eax,[edx*4+D2GAME.dll+107338]
D2GAME.dll+A1C6A: 85 C0                 - test eax,eax
// ---------- INJECTING HERE ----------
D2GAME.dll+A1C6C: 74 0E                 - je D2GAME.dll+A1C7C
// ---------- DONE INJECTING  ----------
D2GAME.dll+A1C6E: 8B 0D E0 8B 33 03     - mov ecx,[D2GAME.dll+F8BE0]
D2GAME.dll+A1C74: 8A 46 08              - mov al,[esi+08]
D2GAME.dll+A1C77: 84 41 14              - test [ecx+14],al
D2GAME.dll+A1C7A: 74 13                 - je D2GAME.dll+A1C8F
D2GAME.dll+A1C7C: 8B 54 24 30           - mov edx,[esp+30]
D2GAME.dll+A1C80: 8B 44 24 28           - mov eax,[esp+28]
D2GAME.dll+A1C84: 52                    - push edx
D2GAME.dll+A1C85: 50                    - push eax
D2GAME.dll+A1C86: 8B C5                 - mov eax,ebp
D2GAME.dll+A1C88: 8B CF                 - mov ecx,edi
}

{
// ORIGINAL CODE - INJECTION POINT: D2GAME.dll+A1C7A

D2GAME.dll+A1C57: 8B 44 24 18           - mov eax,[esp+18]
D2GAME.dll+A1C5B: 85 C0                 - test eax,eax
D2GAME.dll+A1C5D: 74 49                 - je D2GAME.dll+A1CA8
D2GAME.dll+A1C5F: 0F BF 56 2C           - movsx edx,word ptr [esi+2C]
D2GAME.dll+A1C63: 8B 04 95 38 73 34 03  - mov eax,[edx*4+D2GAME.dll+107338]
D2GAME.dll+A1C6A: 85 C0                 - test eax,eax
D2GAME.dll+A1C6C: 74 0E                 - je D2GAME.dll+A1C7C
D2GAME.dll+A1C6E: 8B 0D E0 8B 33 03     - mov ecx,[D2GAME.dll+F8BE0]
D2GAME.dll+A1C74: 8A 46 08              - mov al,[esi+08]
D2GAME.dll+A1C77: 84 41 14              - test [ecx+14],al
// ---------- INJECTING HERE ----------
D2GAME.dll+A1C7A: 74 13                 - je D2GAME.dll+A1C8F
// ---------- DONE INJECTING  ----------
D2GAME.dll+A1C7C: 8B 54 24 30           - mov edx,[esp+30]
D2GAME.dll+A1C80: 8B 44 24 28           - mov eax,[esp+28]
D2GAME.dll+A1C84: 52                    - push edx
D2GAME.dll+A1C85: 50                    - push eax
D2GAME.dll+A1C86: 8B C5                 - mov eax,ebp
D2GAME.dll+A1C88: 8B CF                 - mov ecx,edi
D2GAME.dll+A1C8A: E8 C1 DB FF FF        - call D2GAME.dll+9F850
D2GAME.dll+A1C8F: 8B 15 E0 8B 33 03     - mov edx,[D2GAME.dll+F8BE0]
D2GAME.dll+A1C95: 8A 4E 04              - mov cl,[esi+04]
D2GAME.dll+A1C98: 84 0A                 - test [edx],cl
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>134768</ID>
      <Description>"No Ammo/Throw Decrease"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Diablo II
  Version:
  Date   : 2024-02-11
  Author : plaxor
  Modder ; satandidnowrong

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(arrowNoDec,D2GAME.dll,?? 79 0A C7 44 24 04 01 00 00 00) // should be unique

arrowNoDec:
  nop

[DISABLE]
arrowNoDec:
  db 4D 79 0A C7 44 24 04 01 00 00 00

{
// ORIGINAL CODE - INJECTION POINT: D2GAME.dll+A16BE

D2GAME.dll+A16A0: 51                       - push ecx
D2GAME.dll+A16A1: 85 F6                    - test esi,esi
D2GAME.dll+A16A3: 55                       - push ebp
D2GAME.dll+A16A4: 0F 84 D1 00 00 00        - je D2GAME.dll+A177B
D2GAME.dll+A16AA: 6A 00                    - push 00
D2GAME.dll+A16AC: 6A 46                    - push 46
D2GAME.dll+A16AE: 56                       - push esi
D2GAME.dll+A16AF: C7 44 24 10 00 00 00 00  - mov [esp+10],00000000
D2GAME.dll+A16B7: E8 6E 8D F6 FF           - call D2GAME.dll+A42A
D2GAME.dll+A16BC: 8B E8                    - mov ebp,eax
// ---------- INJECTING HERE ----------
D2GAME.dll+A16BE: 4D                       - dec ebp
// ---------- DONE INJECTING  ----------
D2GAME.dll+A16BF: 79 0A                    - jns D2GAME.dll+A16CB
D2GAME.dll+A16C1: C7 44 24 04 01 00 00 00  - mov [esp+04],00000001
D2GAME.dll+A16C9: 33 ED                    - xor ebp,ebp
D2GAME.dll+A16CB: 53                       - push ebx
D2GAME.dll+A16CC: 57                       - push edi
D2GAME.dll+A16CD: 6A 00                    - push 00
D2GAME.dll+A16CF: 55                       - push ebp
D2GAME.dll+A16D0: 6A 46                    - push 46
D2GAME.dll+A16D2: 56                       - push esi
D2GAME.dll+A16D3: E8 9A 8D F6 FF           - call D2GAME.dll+A472
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>134779</ID>
      <Description>"Add Run/Walk Speed"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <Color>FFDFDF</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Diablo II
  Version:
  Date   : 2024-02-11
  Author : plaxor
  Modder : satandidnowrong

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(runwalkSpeed,D2COMMON.dll,03 F0 83 FE 19) // should be unique
alloc(newmem,$1000)

newmem:
  cmp [edi], 0
  jne code
  add esi, #150 // Default to your flavour
code:
  add esi,eax
  cmp esi,19
  jmp return
runwalkSpeed:
  jmp newmem
return:

[DISABLE]
runwalkSpeed:
  db 03 F0 83 FE 19

dealloc(*)

{
// ORIGINAL CODE - INJECTION POINT: D2COMMON.Ordinal10819+247

D2COMMON.Ordinal10819+226: 89 44 24 14        - mov [esp+14],eax
D2COMMON.Ordinal10819+22A: 0F 84 9D 02 00 00  - je D2COMMON.Ordinal10819+4CD
D2COMMON.Ordinal10819+230: 6A 00              - push 00
D2COMMON.Ordinal10819+232: 6A 43              - push 43
D2COMMON.Ordinal10819+234: 57                 - push edi
D2COMMON.Ordinal10819+235: E8 26 58 00 00     - call D2COMMON.Ordinal10973
D2COMMON.Ordinal10819+23A: 8B F0              - mov esi,eax
D2COMMON.Ordinal10819+23C: 57                 - push edi
D2COMMON.Ordinal10819+23D: B8 04 00 00 00     - mov eax,00000004
D2COMMON.Ordinal10819+242: E8 69 4E 3A A0     - call ProjectDiablo.dll+1281C0
// ---------- INJECTING HERE ----------
D2COMMON.Ordinal10819+247: 03 F0              - add esi,eax
// ---------- DONE INJECTING  ----------
D2COMMON.Ordinal10819+249: 83 FE 19           - cmp esi,19
D2COMMON.Ordinal10819+24C: 7D 05              - jnl D2COMMON.Ordinal10819+253
D2COMMON.Ordinal10819+24E: BE 19 00 00 00     - mov esi,00000019
D2COMMON.Ordinal10819+253: 8B 44 24 1C        - mov eax,[esp+1C]
D2COMMON.Ordinal10819+257: 8B D5              - mov edx,ebp
D2COMMON.Ordinal10819+259: 8B CB              - mov ecx,ebx
D2COMMON.Ordinal10819+25B: E8 A0 C7 FF FF     - call D2COMMON.Ordinal11117+F0
D2COMMON.Ordinal10819+260: 8B C8              - mov ecx,eax
D2COMMON.Ordinal10819+262: 0F AF CE           - imul ecx,esi
D2COMMON.Ordinal10819+265: B8 1F 85 EB 51     - mov eax,51EB851F
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>134780</ID>
      <Description>"No Stamina Decrease"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Diablo II
  Version:
  Date   : 2024-02-11
  Author : plaxor
  Modder : satandidnowrong

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(noStamDec,D2GAME.dll,75 18 8B FE E8 E7 DF FF FF) // should be unique

noStamDec:
  db EB

[DISABLE]
noStamDec:
  db 75 18 8B FE E8 E7 DF FF FF

{
// ORIGINAL CODE - INJECTION POINT: D2GAME.dll+79BC0

D2GAME.dll+79BA6: 6A 0D           - push 0D
D2GAME.dll+79BA8: 56              - push esi
D2GAME.dll+79BA9: E8 E0 0A F9 FF  - call D2GAME.dll+A68E
D2GAME.dll+79BAE: 85 C0           - test eax,eax
D2GAME.dll+79BB0: 74 06           - je D2GAME.dll+79BB8
D2GAME.dll+79BB2: 55              - push ebp
D2GAME.dll+79BB3: E8 E8 9D FC FF  - call D2GAME.Ordinal10030+1A60
D2GAME.dll+79BB8: 85 F6           - test esi,esi
D2GAME.dll+79BBA: 74 1E           - je D2GAME.dll+79BDA
D2GAME.dll+79BBC: 83 7E 10 03     - cmp dword ptr [esi+10],03
// ---------- INJECTING HERE ----------
D2GAME.dll+79BC0: 75 18           - jne D2GAME.dll+79BDA
// ---------- DONE INJECTING  ----------
D2GAME.dll+79BC2: 8B FE           - mov edi,esi
D2GAME.dll+79BC4: E8 E7 DF FF FF  - call D2GAME.dll+77BB0
D2GAME.dll+79BC9: 85 C0           - test eax,eax
D2GAME.dll+79BCB: 75 0D           - jne D2GAME.dll+79BDA
D2GAME.dll+79BCD: 55              - push ebp
D2GAME.dll+79BCE: B8 02 00 00 00  - mov eax,00000002
D2GAME.dll+79BD3: 8B CE           - mov ecx,esi
D2GAME.dll+79BD5: E8 36 EA FF FF  - call D2GAME.dll+78610
D2GAME.dll+79BDA: 8B C6           - mov eax,esi
D2GAME.dll+79BDC: 8B FD           - mov edi,ebp
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>134426</ID>
      <Description>"Hit Recovery +1000"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript Async="1">// Author : plaxor

define(address, "D2Common.dll"+332B4)
define(bytes, 8B C8 83 C1 32)

[ENABLE]
assert(address, bytes)
alloc(newmem, $1000)

newmem:
  cmp [edi], 0
  jne code

  add eax, #1000 // &lt;-- you can edit this

code:
  mov ecx,eax
  add ecx,32
  jmp return

address:
  jmp newmem
return:

[DISABLE]
address:
  db bytes

dealloc(newmem)

</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>134788</ID>
      <Description>"Max Stash Gold Limit (MXL)"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Diablo II
  Version:
  Date   : 2024-02-12
  Author : satandidnowrong
  Resources :
            https://d2mods.info/forum/viewtopic.php?f=8&amp;t=58689#p459811

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(limitGoldStash,D2COMMON.dll,B8 A0 25 26 00) // should be unique

limitGoldStash:
  mov eax,7FFFFFFF

/*aobscanmodule(limitGoldInv0,D2COMMON.dll,69 C0 10 27 00 00 C2 04 00 53) // should be unique

limitGoldInv0:
  imul eax,eax,00BB3EE7

aobscanmodule(limitGoldInv1,D2COMMON.dll,69 C0 10 27 00 00 C2 04 00 A1) // should be unique

limitGoldInv1:
  imul eax,eax,00BB3EE7

aobscanmodule(limitGoldInv2,D2COMMON.dll,69 C0 10 27 00 00) // should be unique

limitGoldInv2:
  imul eax,eax,00BB3EE7*/

[DISABLE]

limitGoldStash:
  db B8 A0 25 26 00
/*limitGoldInv0:
  db 69 C0 10 27 00 00
limitGoldInv1:
  db 69 C0 10 27 00 00
limitGoldInv2:
  db 69 C0 10 27 00 00*/

{
// ORIGINAL CODE - INJECTION POINT: D2COMMON.Ordinal11060

D2COMMON.Ordinal10169+26: C3              - ret
D2COMMON.Ordinal10169+27: CC              - int 3
D2COMMON.Ordinal10169+28: CC              - int 3
D2COMMON.Ordinal10169+29: CC              - int 3
D2COMMON.Ordinal10169+2A: CC              - int 3
D2COMMON.Ordinal10169+2B: CC              - int 3
D2COMMON.Ordinal10169+2C: CC              - int 3
D2COMMON.Ordinal10169+2D: CC              - int 3
D2COMMON.Ordinal10169+2E: CC              - int 3
D2COMMON.Ordinal10169+2F: CC              - int 3
// ---------- INJECTING HERE ----------
D2COMMON.Ordinal11060: B8 40 4B 4C 00  - mov eax,004C4B40
// ---------- DONE INJECTING  ----------
D2COMMON.Ordinal11060+5: C2 04 00        - ret 0004
D2COMMON.Ordinal11060+8: CC              - int 3
D2COMMON.Ordinal11060+9: CC              - int 3
D2COMMON.Ordinal11060+A: CC              - int 3
D2COMMON.Ordinal11060+B: CC              - int 3
D2COMMON.Ordinal11060+C: CC              - int 3
D2COMMON.Ordinal11060+D: CC              - int 3
D2COMMON.Ordinal11060+E: CC              - int 3
D2COMMON.Ordinal11060+F: CC              - int 3
D2COMMON.Ordinal10539: C2 08 00        - ret 0008
}

{
// ORIGINAL CODE - INJECTION POINT: D2COMMON.Ordinal10049+8

D2COMMON.Ordinal10408+79: CC                 - int 3 
D2COMMON.Ordinal10408+7A: CC                 - int 3 
D2COMMON.Ordinal10408+7B: CC                 - int 3 
D2COMMON.Ordinal10408+7C: CC                 - int 3 
D2COMMON.Ordinal10408+7D: CC                 - int 3 
D2COMMON.Ordinal10408+7E: CC                 - int 3 
D2COMMON.Ordinal10408+7F: CC                 - int 3 
D2COMMON.Ordinal10049: 8B 44 24 04        - mov eax,[esp+04]
D2COMMON.Ordinal10049+4: 85 C0              - test eax,eax
D2COMMON.Ordinal10049+6: 75 09              - jne D2COMMON.Ordinal10049+11
// ---------- INJECTING HERE ----------
D2COMMON.Ordinal10049+8: 69 C0 10 27 00 00  - imul eax,eax,00002710
// ---------- DONE INJECTING  ----------
D2COMMON.Ordinal10049+E: C2 04 00           - ret 0004
D2COMMON.Ordinal10049+11: 53                 - push ebx
D2COMMON.Ordinal10049+12: 8B 58 5C           - mov ebx,[eax+5C]
D2COMMON.Ordinal10049+15: 85 DB              - test ebx,ebx
D2COMMON.Ordinal10049+17: 75 0C              - jne D2COMMON.Ordinal10049+25
D2COMMON.Ordinal10049+19: 33 C0              - xor eax,eax
D2COMMON.Ordinal10049+1B: 5B                 - pop ebx
D2COMMON.Ordinal10049+1C: 69 C0 10 27 00 00  - imul eax,eax,00002710
D2COMMON.Ordinal10049+22: C2 04 00           - ret 0004
D2COMMON.Ordinal10049+25: A1 1C 9E DE 6F     - mov eax,[D2COMMON.sgptDataTables]
}

{
// ORIGINAL CODE - INJECTION POINT: D2COMMON.Ordinal10049+1C

D2COMMON.Ordinal10049+4: 85 C0                 - test eax,eax
D2COMMON.Ordinal10049+6: 75 09                 - jne D2COMMON.Ordinal10049+11
D2COMMON.Ordinal10049+8: 69 C0 10 27 00 00     - imul eax,eax,00002710
D2COMMON.Ordinal10049+E: C2 04 00              - ret 0004
D2COMMON.Ordinal10049+11: 53                    - push ebx
D2COMMON.Ordinal10049+12: 8B 58 5C              - mov ebx,[eax+5C]
D2COMMON.Ordinal10049+15: 85 DB                 - test ebx,ebx
D2COMMON.Ordinal10049+17: 75 0C                 - jne D2COMMON.Ordinal10049+25
D2COMMON.Ordinal10049+19: 33 C0                 - xor eax,eax
D2COMMON.Ordinal10049+1B: 5B                    - pop ebx
// ---------- INJECTING HERE ----------
D2COMMON.Ordinal10049+1C: 69 C0 10 27 00 00     - imul eax,eax,00002710
// ---------- DONE INJECTING  ----------
D2COMMON.Ordinal10049+22: C2 04 00              - ret 0004
D2COMMON.Ordinal10049+25: A1 1C 9E DE 6F        - mov eax,[D2COMMON.sgptDataTables]
D2COMMON.Ordinal10049+2A: 83 B8 D4 0B 00 00 0C  - cmp dword ptr [eax+00000BD4],0C
D2COMMON.Ordinal10049+31: 7E E6                 - jle D2COMMON.Ordinal10049+19
D2COMMON.Ordinal10049+33: 8B 80 CC 0B 00 00     - mov eax,[eax+00000BCC]
D2COMMON.Ordinal10049+39: 05 30 0F 00 00        - add eax,00000F30
D2COMMON.Ordinal10049+3E: 74 D9                 - je D2COMMON.Ordinal10049+19
D2COMMON.Ordinal10049+40: 57                    - push edi
D2COMMON.Ordinal10049+41: 50                    - push eax
D2COMMON.Ordinal10049+42: BF 00 00 0C 00        - mov edi,000C0000
}

{
// ORIGINAL CODE - INJECTION POINT: D2COMMON.Ordinal10049+4C

D2COMMON.Ordinal10049+25: A1 1C 9E DE 6F        - mov eax,[D2COMMON.sgptDataTables]
D2COMMON.Ordinal10049+2A: 83 B8 D4 0B 00 00 0C  - cmp dword ptr [eax+00000BD4],0C
D2COMMON.Ordinal10049+31: 7E E6                 - jle D2COMMON.Ordinal10049+19
D2COMMON.Ordinal10049+33: 8B 80 CC 0B 00 00     - mov eax,[eax+00000BCC]
D2COMMON.Ordinal10049+39: 05 30 0F 00 00        - add eax,00000F30
D2COMMON.Ordinal10049+3E: 74 D9                 - je D2COMMON.Ordinal10049+19
D2COMMON.Ordinal10049+40: 57                    - push edi
D2COMMON.Ordinal10049+41: 50                    - push eax
D2COMMON.Ordinal10049+42: BF 00 00 0C 00        - mov edi,000C0000
D2COMMON.Ordinal10049+47: E8 F4 70 00 00        - call D2COMMON.Ordinal10771+1A0
// ---------- INJECTING HERE ----------
D2COMMON.Ordinal10049+4C: 69 C0 10 27 00 00     - imul eax,eax,00002710
// ---------- DONE INJECTING  ----------
D2COMMON.Ordinal10049+52: 5F                    - pop edi
D2COMMON.Ordinal10049+53: 5B                    - pop ebx
D2COMMON.Ordinal10049+54: C2 04 00              - ret 0004
D2COMMON.Ordinal10049+57: CC                    - int 3 
D2COMMON.Ordinal10049+58: CC                    - int 3 
D2COMMON.Ordinal10049+59: CC                    - int 3 
D2COMMON.Ordinal10049+5A: CC                    - int 3 
D2COMMON.Ordinal10049+5B: CC                    - int 3 
D2COMMON.Ordinal10049+5C: CC                    - int 3 
D2COMMON.Ordinal10049+5D: CC                    - int 3 
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>134790</ID>
      <Description>"Max Stash Gold Limit (PD2)"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Diablo II
  Version:
  Date   : 2024-02-12
  Author : satandidnowrong
  Resources :
            https://d2mods.info/forum/viewtopic.php?f=8&amp;t=58689#p459811

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(limitGoldStash,D2COMMON.dll,B8 40 4B 4C 00) // should be unique

limitGoldStash:
  mov eax,7FFFFFFF

/*aobscanmodule(limitGoldInv0,D2COMMON.dll,69 C0 10 27 00 00 C2 04 00 53) // should be unique

limitGoldInv0:
  imul eax,eax,00BB3EE7

aobscanmodule(limitGoldInv1,D2COMMON.dll,69 C0 10 27 00 00 C2 04 00 A1) // should be unique

limitGoldInv1:
  imul eax,eax,00BB3EE7

/*aobscanmodule(limitGoldInv2,D2COMMON.dll,69 C0 10 27 00 00) // should be unique

limitGoldInv2:
  imul eax,eax,00BB3EE7*/

[DISABLE]

limitGoldStash:
  db B8 40 4B 4C 00
/*limitGoldInv0:
  db 69 C0 10 27 00 00
limitGoldInv1:
  db 69 C0 10 27 00 00
/*limitGoldInv2:
  db 69 C0 10 27 00 00*/

{
// ORIGINAL CODE - INJECTION POINT: D2COMMON.Ordinal11060

D2COMMON.Ordinal10169+26: C3              - ret
D2COMMON.Ordinal10169+27: CC              - int 3
D2COMMON.Ordinal10169+28: CC              - int 3
D2COMMON.Ordinal10169+29: CC              - int 3
D2COMMON.Ordinal10169+2A: CC              - int 3
D2COMMON.Ordinal10169+2B: CC              - int 3
D2COMMON.Ordinal10169+2C: CC              - int 3
D2COMMON.Ordinal10169+2D: CC              - int 3
D2COMMON.Ordinal10169+2E: CC              - int 3
D2COMMON.Ordinal10169+2F: CC              - int 3
// ---------- INJECTING HERE ----------
D2COMMON.Ordinal11060: B8 40 4B 4C 00  - mov eax,004C4B40
// ---------- DONE INJECTING  ----------
D2COMMON.Ordinal11060+5: C2 04 00        - ret 0004
D2COMMON.Ordinal11060+8: CC              - int 3
D2COMMON.Ordinal11060+9: CC              - int 3
D2COMMON.Ordinal11060+A: CC              - int 3
D2COMMON.Ordinal11060+B: CC              - int 3
D2COMMON.Ordinal11060+C: CC              - int 3
D2COMMON.Ordinal11060+D: CC              - int 3
D2COMMON.Ordinal11060+E: CC              - int 3
D2COMMON.Ordinal11060+F: CC              - int 3
D2COMMON.Ordinal10539: C2 08 00        - ret 0008
}

{
// ORIGINAL CODE - INJECTION POINT: D2COMMON.Ordinal10049+8

D2COMMON.Ordinal10408+79: CC                 - int 3 
D2COMMON.Ordinal10408+7A: CC                 - int 3 
D2COMMON.Ordinal10408+7B: CC                 - int 3 
D2COMMON.Ordinal10408+7C: CC                 - int 3 
D2COMMON.Ordinal10408+7D: CC                 - int 3 
D2COMMON.Ordinal10408+7E: CC                 - int 3 
D2COMMON.Ordinal10408+7F: CC                 - int 3 
D2COMMON.Ordinal10049: 8B 44 24 04        - mov eax,[esp+04]
D2COMMON.Ordinal10049+4: 85 C0              - test eax,eax
D2COMMON.Ordinal10049+6: 75 09              - jne D2COMMON.Ordinal10049+11
// ---------- INJECTING HERE ----------
D2COMMON.Ordinal10049+8: 69 C0 10 27 00 00  - imul eax,eax,00002710
// ---------- DONE INJECTING  ----------
D2COMMON.Ordinal10049+E: C2 04 00           - ret 0004
D2COMMON.Ordinal10049+11: 53                 - push ebx
D2COMMON.Ordinal10049+12: 8B 58 5C           - mov ebx,[eax+5C]
D2COMMON.Ordinal10049+15: 85 DB              - test ebx,ebx
D2COMMON.Ordinal10049+17: 75 0C              - jne D2COMMON.Ordinal10049+25
D2COMMON.Ordinal10049+19: 33 C0              - xor eax,eax
D2COMMON.Ordinal10049+1B: 5B                 - pop ebx
D2COMMON.Ordinal10049+1C: 69 C0 10 27 00 00  - imul eax,eax,00002710
D2COMMON.Ordinal10049+22: C2 04 00           - ret 0004
D2COMMON.Ordinal10049+25: A1 1C 9E DE 6F     - mov eax,[D2COMMON.sgptDataTables]
}

{
// ORIGINAL CODE - INJECTION POINT: D2COMMON.Ordinal10049+1C

D2COMMON.Ordinal10049+4: 85 C0                 - test eax,eax
D2COMMON.Ordinal10049+6: 75 09                 - jne D2COMMON.Ordinal10049+11
D2COMMON.Ordinal10049+8: 69 C0 10 27 00 00     - imul eax,eax,00002710
D2COMMON.Ordinal10049+E: C2 04 00              - ret 0004
D2COMMON.Ordinal10049+11: 53                    - push ebx
D2COMMON.Ordinal10049+12: 8B 58 5C              - mov ebx,[eax+5C]
D2COMMON.Ordinal10049+15: 85 DB                 - test ebx,ebx
D2COMMON.Ordinal10049+17: 75 0C                 - jne D2COMMON.Ordinal10049+25
D2COMMON.Ordinal10049+19: 33 C0                 - xor eax,eax
D2COMMON.Ordinal10049+1B: 5B                    - pop ebx
// ---------- INJECTING HERE ----------
D2COMMON.Ordinal10049+1C: 69 C0 10 27 00 00     - imul eax,eax,00002710
// ---------- DONE INJECTING  ----------
D2COMMON.Ordinal10049+22: C2 04 00              - ret 0004
D2COMMON.Ordinal10049+25: A1 1C 9E DE 6F        - mov eax,[D2COMMON.sgptDataTables]
D2COMMON.Ordinal10049+2A: 83 B8 D4 0B 00 00 0C  - cmp dword ptr [eax+00000BD4],0C
D2COMMON.Ordinal10049+31: 7E E6                 - jle D2COMMON.Ordinal10049+19
D2COMMON.Ordinal10049+33: 8B 80 CC 0B 00 00     - mov eax,[eax+00000BCC]
D2COMMON.Ordinal10049+39: 05 30 0F 00 00        - add eax,00000F30
D2COMMON.Ordinal10049+3E: 74 D9                 - je D2COMMON.Ordinal10049+19
D2COMMON.Ordinal10049+40: 57                    - push edi
D2COMMON.Ordinal10049+41: 50                    - push eax
D2COMMON.Ordinal10049+42: BF 00 00 0C 00        - mov edi,000C0000
}

{
// ORIGINAL CODE - INJECTION POINT: D2COMMON.Ordinal10049+4C

D2COMMON.Ordinal10049+25: A1 1C 9E DE 6F        - mov eax,[D2COMMON.sgptDataTables]
D2COMMON.Ordinal10049+2A: 83 B8 D4 0B 00 00 0C  - cmp dword ptr [eax+00000BD4],0C
D2COMMON.Ordinal10049+31: 7E E6                 - jle D2COMMON.Ordinal10049+19
D2COMMON.Ordinal10049+33: 8B 80 CC 0B 00 00     - mov eax,[eax+00000BCC]
D2COMMON.Ordinal10049+39: 05 30 0F 00 00        - add eax,00000F30
D2COMMON.Ordinal10049+3E: 74 D9                 - je D2COMMON.Ordinal10049+19
D2COMMON.Ordinal10049+40: 57                    - push edi
D2COMMON.Ordinal10049+41: 50                    - push eax
D2COMMON.Ordinal10049+42: BF 00 00 0C 00        - mov edi,000C0000
D2COMMON.Ordinal10049+47: E8 F4 70 00 00        - call D2COMMON.Ordinal10771+1A0
// ---------- INJECTING HERE ----------
D2COMMON.Ordinal10049+4C: 69 C0 10 27 00 00     - imul eax,eax,00002710
// ---------- DONE INJECTING  ----------
D2COMMON.Ordinal10049+52: 5F                    - pop edi
D2COMMON.Ordinal10049+53: 5B                    - pop ebx
D2COMMON.Ordinal10049+54: C2 04 00              - ret 0004
D2COMMON.Ordinal10049+57: CC                    - int 3 
D2COMMON.Ordinal10049+58: CC                    - int 3 
D2COMMON.Ordinal10049+59: CC                    - int 3 
D2COMMON.Ordinal10049+5A: CC                    - int 3 
D2COMMON.Ordinal10049+5B: CC                    - int 3 
D2COMMON.Ordinal10049+5C: CC                    - int 3 
D2COMMON.Ordinal10049+5D: CC                    - int 3 
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>134804</ID>
      <Description>"Infinite Charsi Imbue"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Diablo II
  Version:
  Date   : 2024-02-13
  Author : satandidnowrong
  Resources :
            https://d2mods.info/forum/viewtopic.php?p=482047#p482047

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(infCharsiImbue,D2GAME.dll,8B C7 8B FD E8 E1 32 FA FF) // should be unique

infCharsiImbue:
  nop 9
registersymbol(infCharsiImbue)

[DISABLE]

infCharsiImbue:
  db 8B C7 8B FD E8 E1 32 FA FF

unregistersymbol(infCharsiImbue)

{
// ORIGINAL CODE - INJECTION POINT: D2GAME.Ordinal10046+7D36

D2GAME.Ordinal10046+7D16: 8D 74 24 38        - lea esi,[esp+38]
D2GAME.Ordinal10046+7D1A: E8 51 E4 F4 FF     - call D2GAME.dll+E930
D2GAME.Ordinal10046+7D1F: 8B 54 24 24        - mov edx,[esp+24]
D2GAME.Ordinal10046+7D23: 8B 4C 24 1C        - mov ecx,[esp+1C]
D2GAME.Ordinal10046+7D27: 52                 - push edx
D2GAME.Ordinal10046+7D28: 6A 00              - push 00
D2GAME.Ordinal10046+7D2A: 8B D8              - mov ebx,eax
D2GAME.Ordinal10046+7D2C: 8B 44 24 30        - mov eax,[esp+30]
D2GAME.Ordinal10046+7D30: 55                 - push ebp
D2GAME.Ordinal10046+7D31: E8 9A E4 F4 FF     - call D2GAME.dll+E990
// ---------- INJECTING HERE ----------
D2GAME.Ordinal10046+7D36: 8B C7              - mov eax,edi
// ---------- DONE INJECTING  ----------
D2GAME.Ordinal10046+7D38: 8B FD              - mov edi,ebp
D2GAME.Ordinal10046+7D3A: E8 E1 32 FA FF     - call D2GAME.Ordinal10004+F3E0
D2GAME.Ordinal10046+7D3F: E9 43 04 00 00     - jmp D2GAME.Ordinal10046+8187
D2GAME.Ordinal10046+7D44: 81 FB 94 00 00 00  - cmp ebx,00000094
D2GAME.Ordinal10046+7D4A: 0F 85 9A 00 00 00  - jne D2GAME.Ordinal10046+7DEA
D2GAME.Ordinal10046+7D50: 80 7D 6D 02        - cmp byte ptr [ebp+6D],02
D2GAME.Ordinal10046+7D54: 75 49              - jne D2GAME.Ordinal10046+7D9F
D2GAME.Ordinal10046+7D56: 6A 00              - push 00
D2GAME.Ordinal10046+7D58: 6A 01              - push 01
D2GAME.Ordinal10046+7D5A: 55                 - push ebp
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>134805</ID>
      <Description>"Infinite Larzuk Socket"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Diablo II
  Version: 
  Date   : 2024-02-13
  Author : satandidnowrong
  Resources :
            https://d2mods.info/forum/viewtopic.php?p=482047#p482047

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(infLarzukSocket,D2GAME.dll,8B C7 8B FD E8 5A 7E F9 FF) // should be unique

infLarzukSocket:
  nop 9
registersymbol(infLarzukSocket)

[DISABLE]

infLarzukSocket:
  db 8B C7 8B FD E8 5A 7E F9 FF

unregistersymbol(infLarzukSocket)

{
// ORIGINAL CODE - INJECTION POINT: D2GAME.Ordinal10046+7F9D

D2GAME.Ordinal10046+7F7D: 8D 74 24 38           - lea esi,[esp+38]
D2GAME.Ordinal10046+7F81: E8 EA E1 F4 FF        - call D2GAME.dll+E930
D2GAME.Ordinal10046+7F86: 8B 54 24 24           - mov edx,[esp+24]
D2GAME.Ordinal10046+7F8A: 8B 4C 24 1C           - mov ecx,[esp+1C]
D2GAME.Ordinal10046+7F8E: 52                    - push edx
D2GAME.Ordinal10046+7F8F: 6A 00                 - push 00
D2GAME.Ordinal10046+7F91: 8B D8                 - mov ebx,eax
D2GAME.Ordinal10046+7F93: 8B 44 24 30           - mov eax,[esp+30]
D2GAME.Ordinal10046+7F97: 55                    - push ebp
D2GAME.Ordinal10046+7F98: E8 33 E2 F4 FF        - call D2GAME.dll+E990
// ---------- INJECTING HERE ----------
D2GAME.Ordinal10046+7F9D: 8B C7                 - mov eax,edi
// ---------- DONE INJECTING  ----------
D2GAME.Ordinal10046+7F9F: 8B FD                 - mov edi,ebp
D2GAME.Ordinal10046+7FA1: E8 5A 7E F9 FF        - call D2GAME.Ordinal10004+41C0
D2GAME.Ordinal10046+7FA6: E9 DC 01 00 00        - jmp D2GAME.Ordinal10046+8187
D2GAME.Ordinal10046+7FAB: 81 FB 00 02 00 00     - cmp ebx,00000200
D2GAME.Ordinal10046+7FB1: 0F 85 22 02 00 00     - jne D2GAME.Ordinal10046+81D9
D2GAME.Ordinal10046+7FB7: 83 3F 00              - cmp dword ptr [edi],00
D2GAME.Ordinal10046+7FBA: 8B 94 24 28 01 00 00  - mov edx,[esp+00000128]
D2GAME.Ordinal10046+7FC1: C6 44 24 14 58        - mov byte ptr [esp+14],58
D2GAME.Ordinal10046+7FC6: 89 54 24 15           - mov [esp+15],edx
D2GAME.Ordinal10046+7FCA: 75 12                 - jne D2GAME.Ordinal10046+7FDE
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>134854</ID>
      <Description>"Chest"</Description>
      <Options moHideChildren="1" moManualExpandCollapse="1" moActivateChildrenAsWell="1" moDeactivateChildrenAsWell="1" moAllowManualCollapseAndExpand="1"/>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>134773</ID>
          <Description>"Spawn All Locked"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : Diablo II
  Version:
  Date   : 2024-02-11
  Author : plaxor
  Modder ; satandidnowrong

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(chestSpawnLocked,D2GAME.dll,7D 05 80 CB 80) // should be unique

chestSpawnLocked:
  nop 2

[DISABLE]
chestSpawnLocked:
  db 7D 05 80 CB 80

{
// ORIGINAL CODE - INJECTION POINT: D2GAME.Ordinal10040+8BE

D2GAME.Ordinal10040+8A8: F7 F1           - div ecx
D2GAME.Ordinal10040+8AA: 0F BF 47 10     - movsx eax,word ptr [edi+10]
D2GAME.Ordinal10040+8AE: 8A 5C 24 13     - mov bl,[esp+13]
D2GAME.Ordinal10040+8B2: 8B CA           - mov ecx,edx
D2GAME.Ordinal10040+8B4: 99              - cdq 
D2GAME.Ordinal10040+8B5: 2B C2           - sub eax,edx
D2GAME.Ordinal10040+8B7: D1 F8           - sar eax,1
D2GAME.Ordinal10040+8B9: 31 C0           - xor eax,eax
D2GAME.Ordinal10040+8BB: 90              - nop 
D2GAME.Ordinal10040+8BC: 3B C8           - cmp ecx,eax
// ---------- INJECTING HERE ----------
D2GAME.Ordinal10040+8BE: 7D 05           - jnl D2GAME.Ordinal10040+8C5
// ---------- DONE INJECTING  ----------
D2GAME.Ordinal10040+8C0: 80 CB 80        - or bl,-80
D2GAME.Ordinal10040+8C3: EB 03           - jmp D2GAME.Ordinal10040+8C8
D2GAME.Ordinal10040+8C5: 80 E3 7F        - and bl,7F
D2GAME.Ordinal10040+8C8: 8B 4E 0C        - mov ecx,[esi+0C]
D2GAME.Ordinal10040+8CB: 8B 01           - mov eax,[ecx]
D2GAME.Ordinal10040+8CD: 8B 79 04        - mov edi,[ecx+04]
D2GAME.Ordinal10040+8D0: BA C5 90 C6 6A  - mov edx,6AC690C5
D2GAME.Ordinal10040+8D5: F7 E2           - mul edx
D2GAME.Ordinal10040+8D7: 33 ED           - xor ebp,ebp
D2GAME.Ordinal10040+8D9: 03 C7           - add eax,edi
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>134772</ID>
          <Description>"No Key Requirement"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : Diablo II
  Version:
  Date   : 2024-02-11
  Author : plaxor
  Modder ; satandidnowrong

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(chestNoKeyReq,D2GAME.dll,83 78 04 06 74 27) // should be unique

chestNoKeyReq:
  nop 4
  db EB

[DISABLE]
chestNoKeyReq:
  db 83 78 04 06 74 27

{
// ORIGINAL CODE - INJECTION POINT: D2GAME.dll+6F093

D2GAME.dll+6F076: 8A 4A 04        - mov cl,[edx+04]
D2GAME.dll+6F079: 89 44 24 1C     - mov [esp+1C],eax
D2GAME.dll+6F07D: 33 C0           - xor eax,eax
D2GAME.dll+6F07F: 88 4C 24 13     - mov [esp+13],cl
D2GAME.dll+6F083: 80 E1 80        - and cl,-80
D2GAME.dll+6F086: 88 4C 24 12     - mov [esp+12],cl
D2GAME.dll+6F08A: 74 67           - je D2GAME.dll+6F0F3
D2GAME.dll+6F08C: 8B 45 08        - mov eax,[ebp+08]
D2GAME.dll+6F08F: 3B C3           - cmp eax,ebx
D2GAME.dll+6F091: 74 06           - je D2GAME.dll+6F099
// ---------- INJECTING HERE ----------
D2GAME.dll+6F093: 83 78 04 06     - cmp dword ptr [eax+04],06
// ---------- DONE INJECTING  ----------
D2GAME.dll+6F097: 74 27           - je D2GAME.dll+6F0C0
D2GAME.dll+6F099: 8B 4D 00        - mov ecx,[ebp+00]
D2GAME.dll+6F09C: 51              - push ecx
D2GAME.dll+6F09D: E8 CE 98 EB 0C  - call ProjectDiablo.dll+128970
D2GAME.dll+6F0A2: 3B C3           - cmp eax,ebx
D2GAME.dll+6F0A4: 75 1A           - jne D2GAME.dll+6F0C0
D2GAME.dll+6F0A6: 8B 6D 08        - mov ebp,[ebp+08]
D2GAME.dll+6F0A9: 55              - push ebp
D2GAME.dll+6F0AA: 6A 16           - push 16
D2GAME.dll+6F0AC: 8B F5           - mov esi,ebp
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>134771</ID>
          <Description>"No Trap Chance"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : Diablo II
  Version:
  Date   : 2024-02-11
  Author : plaxor
  Modder ; satandidnowrong

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(chestTrapChance,D2GAME.dll,83 C0 08 3B C8) // should be unique

chestTrapChance:
  xor eax eax
  nop

[DISABLE]
chestTrapChance:
  db 83 C0 08 3B C8

{
// ORIGINAL CODE - INJECTION POINT: D2GAME.Ordinal10040+8B9

D2GAME.Ordinal10040+89E: 89 51 04        - mov [ecx+04],edx
D2GAME.Ordinal10040+8A1: 33 D2           - xor edx,edx
D2GAME.Ordinal10040+8A3: B9 64 00 00 00  - mov ecx,00000064
D2GAME.Ordinal10040+8A8: F7 F1           - div ecx
D2GAME.Ordinal10040+8AA: 0F BF 47 10     - movsx eax,word ptr [edi+10]
D2GAME.Ordinal10040+8AE: 8A 5C 24 13     - mov bl,[esp+13]
D2GAME.Ordinal10040+8B2: 8B CA           - mov ecx,edx
D2GAME.Ordinal10040+8B4: 99              - cdq 
D2GAME.Ordinal10040+8B5: 2B C2           - sub eax,edx
D2GAME.Ordinal10040+8B7: D1 F8           - sar eax,1
// ---------- INJECTING HERE ----------
D2GAME.Ordinal10040+8B9: 83 C0 08        - add eax,08
// ---------- DONE INJECTING  ----------
D2GAME.Ordinal10040+8BC: 3B C8           - cmp ecx,eax
D2GAME.Ordinal10040+8BE: 66 90           - nop 2
D2GAME.Ordinal10040+8C0: 80 CB 80        - or bl,-80
D2GAME.Ordinal10040+8C3: EB 03           - jmp D2GAME.Ordinal10040+8C8
D2GAME.Ordinal10040+8C5: 80 E3 7F        - and bl,7F
D2GAME.Ordinal10040+8C8: 8B 4E 0C        - mov ecx,[esi+0C]
D2GAME.Ordinal10040+8CB: 8B 01           - mov eax,[ecx]
D2GAME.Ordinal10040+8CD: 8B 79 04        - mov edi,[ecx+04]
D2GAME.Ordinal10040+8D0: BA C5 90 C6 6A  - mov edx,6AC690C5
D2GAME.Ordinal10040+8D5: F7 E2           - mul edx
}
</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>134855</ID>
      <Description>"Light Radius"</Description>
      <Options moHideChildren="1" moManualExpandCollapse="1" moActivateChildrenAsWell="1" moDeactivateChildrenAsWell="1" moAllowManualCollapseAndExpand="1"/>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>134769</ID>
          <Description>"Full Light Radius"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : Diablo II
  Version: 
  Date   : 2024-02-11
  Author : plaxor
  Modder ; satandidnowrong

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(lightRadFull,D2COMMON.dll,8B 44 24 14 8B 4C 24 10 8B) // should be unique

lightRadFull:
  ret 14
  nop

[DISABLE]
lightRadFull:
  db 8B 44 24 14 8B 4C 24 10

{
// ORIGINAL CODE - INJECTION POINT: D2COMMON.Ordinal10636

D2COMMON.Ordinal10224+10: 50              - push eax
D2COMMON.Ordinal10224+11: 51              - push ecx
D2COMMON.Ordinal10224+12: E8 B9 52 04 00  - call D2COMMON.Ordinal10241+19A0
D2COMMON.Ordinal10224+17: 5E              - pop esi
D2COMMON.Ordinal10224+18: C2 0C 00        - ret 000C
D2COMMON.Ordinal10224+1B: CC              - int 3 
D2COMMON.Ordinal10224+1C: CC              - int 3 
D2COMMON.Ordinal10224+1D: CC              - int 3 
D2COMMON.Ordinal10224+1E: CC              - int 3 
D2COMMON.Ordinal10224+1F: CC              - int 3 
// ---------- INJECTING HERE ----------
D2COMMON.Ordinal10636: 8B 44 24 14     - mov eax,[esp+14]
// ---------- DONE INJECTING  ----------
D2COMMON.Ordinal10636+4: 8B 4C 24 10     - mov ecx,[esp+10]
D2COMMON.Ordinal10636+8: 8B 54 24 0C     - mov edx,[esp+0C]
D2COMMON.Ordinal10636+C: 50              - push eax
D2COMMON.Ordinal10636+D: 8B 44 24 0C     - mov eax,[esp+0C]
D2COMMON.Ordinal10636+11: 51              - push ecx
D2COMMON.Ordinal10636+12: 8B 4C 24 0C     - mov ecx,[esp+0C]
D2COMMON.Ordinal10636+16: 52              - push edx
D2COMMON.Ordinal10636+17: 50              - push eax
D2COMMON.Ordinal10636+18: 8B 41 10        - mov eax,[ecx+10]
D2COMMON.Ordinal10636+1B: E8 D0 86 00 00  - call D2COMMON.Ordinal10889+A40
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>134767</ID>
          <Description>"Super Light Radius"</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : Diablo II
  Version: 
  Date   : 2024-02-11
  Author : plaxor
  Modder : satandidnowrong

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(lightRadSuper,D2CLIENT.dll,83 EC 0C 3B C8) // should be unique

lightRadSuper:
  ret 0004

[DISABLE]
lightRadSuper:
  db 83 EC 0C 3B C8

{
// ORIGINAL CODE - INJECTION POINT: D2CLIENT.dll+A8560

D2CLIENT.dll+A8556: C3           - ret 
D2CLIENT.dll+A8557: CC           - int 3 
D2CLIENT.dll+A8558: CC           - int 3 
D2CLIENT.dll+A8559: CC           - int 3 
D2CLIENT.dll+A855A: CC           - int 3 
D2CLIENT.dll+A855B: CC           - int 3 
D2CLIENT.dll+A855C: CC           - int 3 
D2CLIENT.dll+A855D: CC           - int 3 
D2CLIENT.dll+A855E: CC           - int 3 
D2CLIENT.dll+A855F: CC           - int 3 
// ---------- INJECTING HERE ----------
D2CLIENT.dll+A8560: 83 EC 0C     - sub esp,0C
// ---------- DONE INJECTING  ----------
D2CLIENT.dll+A8563: 3B C8        - cmp ecx,eax
D2CLIENT.dll+A8565: 56           - push esi
D2CLIENT.dll+A8566: 8B 74 24 14  - mov esi,[esp+14]
D2CLIENT.dll+A856A: 7F 77        - jg D2CLIENT.dll+A85E3
D2CLIENT.dll+A856C: 53           - push ebx
D2CLIENT.dll+A856D: 55           - push ebp
D2CLIENT.dll+A856E: 8D 2C 49     - lea ebp,[ecx+ecx*2]
D2CLIENT.dll+A8571: C1 E5 04     - shl ebp,04
D2CLIENT.dll+A8574: 03 EE        - add ebp,esi
D2CLIENT.dll+A8576: 2B C1        - sub eax,ecx
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>134808</ID>
              <Description>"If Bugged, Toggle Script"</Description>
              <Color>0000FF</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
            <CheatEntry>
              <ID>134818</ID>
              <Description>"If Still Bugged, Exit and Enter Location"</Description>
              <Color>0000FF</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>134862</ID>
      <Description>"D2LoD1.14b.CT CrazySquirrel"</Description>
      <Options moHideChildren="1"/>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>8</ID>
          <Description>"Current Cheat Table"</Description>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>6</ID>
              <Description>"HP PTR"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>"Game.exe"+003B49DC</Address>
              <Offsets>
                <Offset>24</Offset>
                <Offset>9C</Offset>
                <Offset>4D8</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>134188</ID>
              <Description>"Experience Gained with Multiplier"</Description>
              <Options moHideChildren="1"/>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : Game.exe
  Version: 
  Date   : 2022-08-07
  Author : scarl

  This is my first script ever.. Experience multiplier, but definitely could be better.
}

[ENABLE]

aobscanmodule(INJECT,Game.exe,2B ?? 51 6A ?? 56 E8 ?? ?? ?? ?? 6A ?? 57) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
registersymbol(xpGain)



newmem:


code:
  sub ecx,ebp
  push ecx
  imul ecx,[xpGain]
  add edi,ecx
  push 1D
  jmp return

xpGain:
dd #1

INJECT:
  jmp newmem
return:
registersymbol(INJECT)

[DISABLE]

INJECT:
  db 2B CD 51 6A 1D

unregistersymbol(INJECT xpGain)
dealloc(newmem xpGain)

{
// ORIGINAL CODE - INJECTION POINT: Game.exe+17C54C

Game.exe+17C533: E8 A8 45 09 00  - call Game.exe+210AE0
Game.exe+17C538: 83 E8 01        - sub eax,01
Game.exe+17C53B: 50              - push eax
Game.exe+17C53C: 53              - push ebx
Game.exe+17C53D: E8 6E 45 09 00  - call Game.exe+210AB0
Game.exe+17C542: 3B F8           - cmp edi,eax
Game.exe+17C544: 76 02           - jna Game.exe+17C548
Game.exe+17C546: 8B F8           - mov edi,eax
Game.exe+17C548: 6A 00           - push 00
Game.exe+17C54A: 8B CF           - mov ecx,edi
// ---------- INJECTING HERE ----------
Game.exe+17C54C: 2B CD           - sub ecx,ebp
// ---------- DONE INJECTING  ----------
Game.exe+17C54E: 51              - push ecx
Game.exe+17C54F: 6A 1D           - push 1D
Game.exe+17C551: 56              - push esi
Game.exe+17C552: E8 59 B0 0A 00  - call Game.exe+2275B0
Game.exe+17C557: 6A 00           - push 00
Game.exe+17C559: 57              - push edi
Game.exe+17C55A: 6A 0D           - push 0D
Game.exe+17C55C: 56              - push esi
Game.exe+17C55D: E8 4E B0 0A 00  - call Game.exe+2275B0
Game.exe+17C562: 57              - push edi
}
</AssemblerScript>
              <CheatEntries>
                <CheatEntry>
                  <ID>134189</ID>
                  <Description>"Multiply Exp Gained"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>xpGain</Address>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>134195</ID>
              <Description>"Max Skill Points (need to add a point first)"</Description>
              <Options moHideChildren="1"/>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : Game.exe
  Version: 
  Date   : 2022-08-10
  Author : scarl

  This script does blah blah blah
}

[ENABLE]


aobscanmodule(maxSkill,Game.exe,89 ?? ?? 53 55 E8 ?? ?? ?? ?? 8B ?? 5E) // should be unique
alloc(newmem,$100)

label(previousSkill)
label(skillMax)
label(code)
label(return)
registerSymbol(skillMax)
registersymbol(previousSkill)

newmem:
lea edi,[esi+28]
mov [previousSkill],edi
mov edi,[skillMax]

code:
  mov [esi+28],edi
  push ebx
  push ebp
  jmp return

skillMax:
dd #20

previousSkill:

maxSkill:
  jmp newmem
return:
registersymbol(maxSkill)

[DISABLE]

maxSkill:
  db 89 7E 28 53 55

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Game.exe+248623

Game.exe+248608: 5D              - pop ebp
Game.exe+248609: C2 08 00        - ret 0008
Game.exe+24860C: 8B 7E 28        - mov edi,[esi+28]
Game.exe+24860F: 8B CB           - mov ecx,ebx
Game.exe+248611: E8 DA E9 E5 FF  - call Game.exe+A6FF0
Game.exe+248616: 3B F8           - cmp edi,eax
Game.exe+248618: 7C 06           - jl Game.exe+248620
Game.exe+24861A: 83 7D 00 01     - cmp dword ptr [ebp+00],01
Game.exe+24861E: 75 06           - jne Game.exe+248626
Game.exe+248620: 83 C7 01        - add edi,01
// ---------- INJECTING HERE ----------
Game.exe+248623: 89 7E 28        - mov [esi+28],edi
// ---------- DONE INJECTING  ----------
Game.exe+248626: 53              - push ebx
Game.exe+248627: 55              - push ebp
Game.exe+248628: E8 03 FB FF FF  - call Game.exe+248130
Game.exe+24862D: 8B C6           - mov eax,esi
Game.exe+24862F: 5E              - pop esi
Game.exe+248630: 5F              - pop edi
Game.exe+248631: 5B              - pop ebx
Game.exe+248632: 5D              - pop ebp
Game.exe+248633: C2 08 00        - ret 0008
Game.exe+248636: CC              - int 3 
}
</AssemblerScript>
              <CheatEntries>
                <CheatEntry>
                  <ID>134196</ID>
                  <Description>"Skill Modifier"</Description>
                  <DropDownList ReadOnly="1">20:Default Max Skill
40:Skill Points when adding
99:Max Skill Points when adding
</DropDownList>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>skillMax</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>134595</ID>
                  <Description>"Previous Skill"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>previousSkill</Address>
                  <Offsets>
                    <Offset>0</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>134200</ID>
              <Description>"Run Speed Hack"</Description>
              <Options moHideChildren="1"/>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : Game.exe
  Version: 
  Date   : 2022-08-10
  Author : scarl

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(speedInject,Game.exe,83 ?? ?? 50 6A ?? 57 E8 ?? ?? ?? ?? 6A) // should be unique
alloc(newmem,$100)

label(speedy)
label(code)
label(return)
registersymbol(speedy)

newmem:
add eax,[speedy]
jmp code
speedy:
dd #1000

code:
  sub eax,64
  push eax
  push 43
  jmp return


speedInject:
  jmp newmem
  nop
return:
registersymbol(speedInject)

[DISABLE]

speedInject:
  db 83 E8 64 50 6A 43

unregistersymbol(speedInject)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Game.exe+2210ED

Game.exe+2210D5: EB 02           - jmp Game.exe+2210D9
Game.exe+2210D7: 33 F6           - xor esi,esi
Game.exe+2210D9: 0F B6 4E 40     - movzx ecx,byte ptr [esi+40]
Game.exe+2210DD: 85 C9           - test ecx,ecx
Game.exe+2210DF: 74 21           - je Game.exe+221102
Game.exe+2210E1: 0F B6 46 41     - movzx eax,byte ptr [esi+41]
Game.exe+2210E5: 6B C0 64        - imul eax,eax,64
Game.exe+2210E8: 99              - cdq 
Game.exe+2210E9: F7 F9           - idiv ecx
Game.exe+2210EB: 6A 00           - push 00
// ---------- INJECTING HERE ----------
Game.exe+2210ED: 83 E8 64        - sub eax,64
// ---------- DONE INJECTING  ----------
Game.exe+2210F0: 50              - push eax
Game.exe+2210F1: 6A 43           - push 43
Game.exe+2210F3: 57              - push edi
Game.exe+2210F4: E8 07 63 00 00  - call Game.exe+227400
Game.exe+2210F9: 6A 01           - push 01
Game.exe+2210FB: 57              - push edi
Game.exe+2210FC: 53              - push ebx
Game.exe+2210FD: E8 5E 60 00 00  - call Game.exe+227160
Game.exe+221102: 5F              - pop edi
Game.exe+221103: 5E              - pop esi
}
</AssemblerScript>
              <CheatEntries>
                <CheatEntry>
                  <ID>134201</ID>
                  <Description>"Speed! Must be running to work."</Description>
                  <DropDownList ReadOnly="1" DescriptionOnly="1">0:Disables the Speed.
50:Slight increase in speed.
150:Faster Speed...
300:Even Faster...
500:This is getting a bit much.
1000:Partial Sonic.
10000:Super Sonic (not recommended)
100000:GOTTA GO FAST! (still... not recommended)
</DropDownList>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>speedy</Address>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>134205</ID>
              <Description>"Shift Player away from cam"</Description>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : Game.exe
  Version: 
  Date   : 2022-08-10
  Author : scarl

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(testLoc,Game.exe,89 0D 90 D2 79 00) // should be unique
alloc(newmem,$100)

label(code)
label(return)

newmem:
sub ecx,#100

code:
  mov [Game.exe+39D290],ecx
  jmp return

testLoc:
  jmp newmem
  nop
return:
registersymbol(testLoc)

[DISABLE]

testLoc:
  db 89 0D 90 D2 79 00

unregistersymbol(testLoc)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Game.exe+56C10

Game.exe+56BFA: 99                 - cdq 
Game.exe+56BFB: 2B C2              - sub eax,edx
Game.exe+56BFD: D1 F8              - sar eax,1
Game.exe+56BFF: 2B F0              - sub esi,eax
Game.exe+56C01: A1 4C 0F 71 00     - mov eax,[Game.exe+310F4C]
Game.exe+56C06: 99                 - cdq 
Game.exe+56C07: 2B C2              - sub eax,edx
Game.exe+56C09: D1 F8              - sar eax,1
Game.exe+56C0B: 2B C8              - sub ecx,eax
Game.exe+56C0D: 83 C1 10           - add ecx,10
// ---------- INJECTING HERE ----------
Game.exe+56C10: 89 0D 90 D2 79 00  - mov [Game.exe+39D290],ecx
// ---------- DONE INJECTING  ----------
Game.exe+56C16: 8D 54 24 0C        - lea edx,[esp+0C]
Game.exe+56C1A: 8D 4C 24 08        - lea ecx,[esp+08]
Game.exe+56C1E: 89 35 94 D2 79 00  - mov [Game.exe+39D294],esi
Game.exe+56C24: E8 D7 BB 01 00     - call Game.exe+72800
Game.exe+56C29: 85 C0              - test eax,eax
Game.exe+56C2B: 5F                 - pop edi
Game.exe+56C2C: 5E                 - pop esi
Game.exe+56C2D: 74 13              - je Game.exe+56C42
Game.exe+56C2F: 8B 04 24           - mov eax,[esp]
Game.exe+56C32: 8B 4C 24 04        - mov ecx,[esp+04]
}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>134574</ID>
              <Description>"Freeze Enemy Position"</Description>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : Game.exe
  Version: 
  Date   : 2022-08-11
  Author : scarl

  This script will freeze all other entities.
}

[ENABLE]

aobscanmodule(freezeall,Game.exe,66 ?? ?? ?? 66 ?? ?? 66 ?? ?? ?? 66 ?? ?? ?? ?? 66 ?? ?? ?? ?? 8B) // should be unique
alloc(newmem,$200)
label(playerlocation)
label(code)
label(return)
registersymbol(playerlocation)

newmem:
pushf
cmp [ecx],0 // Comparison to make us see if it is our player or not.
je code
popf
//mov [ebx+02],playerlocation Trying to move mosters to me. Didn't work, did in a diff script.
cmp ax,bp
jmp return
code:
popf
  mov ax,[ebx+02]
 // mov [playerlocation],ax
  //mov ax,#100000
  cmp ax,bp
  jmp return
playerlocation:
dw 0
freezeall:
  jmp newmem
  nop 2
return:
registersymbol(freezeall)

[DISABLE]

freezeall:
  db 66 8B 43 02 66 3B C5

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Game.exe+24ACF6

Game.exe+24ACE0: 8B CE              - mov ecx,esi
Game.exe+24ACE2: E8 79 B8 E0 FF     - call Game.exe+56560
Game.exe+24ACE7: 85 C0              - test eax,eax
Game.exe+24ACE9: 75 0B              - jne Game.exe+24ACF6
Game.exe+24ACEB: 5E                 - pop esi
Game.exe+24ACEC: 5D                 - pop ebp
Game.exe+24ACED: 33 C0              - xor eax,eax
Game.exe+24ACEF: 5B                 - pop ebx
Game.exe+24ACF0: 83 C4 34           - add esp,34
Game.exe+24ACF3: C2 0C 00           - ret 000C
// ---------- INJECTING HERE ----------
Game.exe+24ACF6: 66 8B 43 02        - mov ax,[ebx+02]
// ---------- DONE INJECTING  ----------
Game.exe+24ACFA: 66 3B C5           - cmp ax,bp
Game.exe+24ACFD: 66 8B 4B 06        - mov cx,[ebx+06]
Game.exe+24AD01: 66 89 44 24 44     - mov [esp+44],ax
Game.exe+24AD06: 66 89 4C 24 46     - mov [esp+46],cx
Game.exe+24AD0B: 8B 54 24 44        - mov edx,[esp+44]
Game.exe+24AD0F: 57                 - push edi
Game.exe+24AD10: 89 54 24 10        - mov [esp+10],edx
Game.exe+24AD14: 75 09              - jne Game.exe+24AD1F
Game.exe+24AD16: 66 3B CD           - cmp cx,bp
Game.exe+24AD19: 0F 84 96 02 00 00  - je Game.exe+24AFB5
}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>134607</ID>
              <Description>"X loc"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>"Game.exe"+0039D1F8</Address>
              <Offsets>
                <Offset>4</Offset>
                <Offset>1A8</Offset>
                <Offset>18</Offset>
                <Offset>24</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>134606</ID>
              <Description>"Y loc"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>"Game.exe"+0039D1F8</Address>
              <Offsets>
                <Offset>0</Offset>
                <Offset>1A8</Offset>
                <Offset>18</Offset>
                <Offset>24</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>134609</ID>
              <Description>"Telport To Me"</Description>
              <Options moHideChildren="1"/>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : Game.exe
  Version: 
  Date   : 2022-08-12
  Author : scarl

  This script teleports all monsters and friendlies, to you, as long as they are moving.
  This will also make your projectiles land in the same spot of the enemy.
}

[ENABLE]

aobscanmodule(tplocationtest,Game.exe,89 ?? 89 ?? ?? 51 8D ?? ?? ?? C1 ?? ?? C1 ?? ?? 52) // should be unique

label(x_original_code)
label(return_x)
label(x_player_loc)
label(new_x_code)
label(y_player_loc)
label(x_monster_loc)
label(y_monster_loc)
label(y_monster_loc_addy)

registersymbol(x_player_loc) // to test my compare -- no need for it unless manual telporting is desired
registersymbol(y_player_loc) // to test my compare -- no need for it unless manual telporting is desired
registersymbol(x_monster_loc)
registersymbol(y_monster_loc)
registersymbol(y_monster_loc_addy)
alloc(newmem,$1000)


newmem:

   new_x_code:
        cmp [eax+4C],#128 // comparison to check if player
        je x_original_code // jump back to orignal if player
        push ebx

//        mov [edi],ebx
        mov [x_monster_loc],ebx
        mov ebx,[x_player_loc] // push monsters to players x
        add ebx,#1000000 // Move entities away from player, comment out if you want on top of you.
        mov [edi],ebx
        push eax
        lea eax,[edi+04]
        mov [y_monster_loc_addy],eax
        pop eax
        mov [y_monster_loc],esi
        mov ebx,[y_player_loc]
        mov [edi+04],ebx
        pop ebx
        jmp return_x
x_player_loc:
  dd #0
y_player_loc:
  dd #0
x_monster_loc:
  dd #0
y_monster_loc:
  dd #0
y_monster_loc_addy:
  dd #0

  x_original_code:
        mov [edi],ebx
        mov [x_player_loc],ebx // moving the same value that was moved into edi, injection point
        mov [edi+04],esi // esi == y code
        mov [y_player_loc],esi
        jmp return_x

tplocationtest:
  jmp newmem
return_x:
registersymbol(tplocationtest)

[DISABLE]

tplocationtest:
  db 89 1F 89 77 04

unregistersymbol(*)
dealloc(*)

{
// ORIGINAL CODE - INJECTION POINT: Game.exe+25100C

Game.exe+250FF5: E8 56 DF E0 FF  - call Game.exe+5EF50
Game.exe+250FFA: 85 C0           - test eax,eax
Game.exe+250FFC: 75 0A           - jne Game.exe+251008
Game.exe+250FFE: 89 47 28        - mov [edi+28],eax
Game.exe+251001: 5F              - pop edi
Game.exe+251002: 5E              - pop esi
Game.exe+251003: 5B              - pop ebx
Game.exe+251004: 59              - pop ecx
Game.exe+251005: C2 0C 00        - ret 000C
Game.exe+251008: 8D 4C 24 0C     - lea ecx,[esp+0C]
// ---------- INJECTING HERE ----------
Game.exe+25100C: 89 1F           - mov [edi],ebx
// ---------- DONE INJECTING  ----------
Game.exe+25100E: 89 77 04        - mov [edi+04],esi
Game.exe+251011: 51              - push ecx
Game.exe+251012: 8D 54 24 18     - lea edx,[esp+18]
Game.exe+251016: C1 EB 0B        - shr ebx,0B
Game.exe+251019: C1 EE 0B        - shr esi,0B
Game.exe+25101C: 52              - push edx
Game.exe+25101D: 89 5C 24 1C     - mov [esp+1C],ebx
Game.exe+251021: 89 74 24 14     - mov [esp+14],esi
Game.exe+251025: E8 C6 36 FF FF  - call Game.exe+2446F0
Game.exe+25102A: 83 7F 30 00     - cmp dword ptr [edi+30],00
}
</AssemblerScript>
              <CheatEntries>
                <CheatEntry>
                  <ID>134631</ID>
                  <Description>"Trying Stuff"</Description>
                  <VariableType>Auto Assembler Script</VariableType>
                  <AssemblerScript>{ Game   : Game.exe
  Version: 
  Date   : 2022-08-17
  Author : scarl

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(test_movement,Game.exe,8B 0E 89 0F 8B 56 04 89) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
   push eax
   mov eax,[x_player_loc]
   mov [x_monster_loc],eax
   mov eax,[y_player_loc]
   mov [y_monster_loc_addy],eax
   pop eax


code:
  mov ecx,[esi]
  mov [edi],ecx
  mov edx,[esi+04]
  jmp return

test_movement:
  jmp newmem
  nop 2
return:
registersymbol(test_movement)

[DISABLE]

test_movement:
  db 8B 0E 89 0F 8B 56 04

unregistersymbol(test_movement)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Game.exe.text+5F915

Game.exe.text+5F8FD: 8B 44 24 14     - mov eax,[esp+14]
Game.exe.text+5F901: 50              - push eax
Game.exe.text+5F902: 55              - push ebp
Game.exe.text+5F903: 53              - push ebx
Game.exe.text+5F904: 8B 5C 24 1C     - mov ebx,[esp+1C]
Game.exe.text+5F908: 53              - push ebx
Game.exe.text+5F909: 57              - push edi
Game.exe.text+5F90A: E8 B1 17 1F 00  - call Game.exe.text+2510C0
Game.exe.text+5F90F: EB 04           - jmp Game.exe.text+5F915
Game.exe.text+5F911: 8B 5C 24 10     - mov ebx,[esp+10]
// ---------- INJECTING HERE ----------
Game.exe.text+5F915: 8B 0E           - mov ecx,[esi]
// ---------- DONE INJECTING  ----------
Game.exe.text+5F917: 89 0F           - mov [edi],ecx
Game.exe.text+5F919: 8B 56 04        - mov edx,[esi+04]
Game.exe.text+5F91C: 89 57 04        - mov [edi+04],edx
Game.exe.text+5F91F: 8B 46 08        - mov eax,[esi+08]
Game.exe.text+5F922: 89 47 08        - mov [edi+08],eax
Game.exe.text+5F925: 8B 4E 0C        - mov ecx,[esi+0C]
Game.exe.text+5F928: 89 4F 0C        - mov [edi+0C],ecx
Game.exe.text+5F92B: 8B 56 24        - mov edx,[esi+24]
Game.exe.text+5F92E: 89 57 24        - mov [edi+24],edx
Game.exe.text+5F931: 8B 46 28        - mov eax,[esi+28]
}
</AssemblerScript>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>134728</ID>
              <Description>"DISPLAY Inventory Last Moved Item (INJ COPY)"</Description>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : Diablo II
  Version: 
  Date   : 2022-08-30
  Author : CrazySquirrel

  This script is a basic injection copy.
}

[ENABLE]

aobscanmodule(inventoryInjection,Game.exe,8B ?? ?? 50 E8 ?? ?? ?? ?? 85 ?? 74 ?? 0F ?? ?? ?? ?? ?? ?? 66 ?? ?? 7E ?? 0F) // should be unique
alloc(newmem,$1000)

label(code)
label(return)
label(injectionInv)
registersymbol(injectionInv)

newmem:
mov [injectionInv],esi
jmp code

injectionInv:
dd 0

code:
  mov eax,[esi+04]
  push eax
  reassemble(inventoryInjection+4)
  jmp return

inventoryInjection:
  jmp newmem
  nop 4
return:
registersymbol(inventoryInjection)

[DISABLE]

inventoryInjection:
  db 8B 46 04 50 E8 18 56 17 00

unregistersymbol(inventoryInjection)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Game.exe.text+BD63F

Game.exe.text+BD62E: CC                    - int 3 
Game.exe.text+BD62F: CC                    - int 3 
Game.exe.text+BD630: 56                    - push esi
Game.exe.text+BD631: 57                    - push edi
Game.exe.text+BD632: 8B F1                 - mov esi,ecx
Game.exe.text+BD634: 33 FF                 - xor edi,edi
Game.exe.text+BD636: 85 F6                 - test esi,esi
Game.exe.text+BD638: 75 05                 - jne Game.exe.text+BD63F
Game.exe.text+BD63A: 83 C8 FF              - or eax,-01
Game.exe.text+BD63D: EB 03                 - jmp Game.exe.text+BD642
// ---------- INJECTING HERE ----------
Game.exe.text+BD63F: 8B 46 04              - mov eax,[esi+04]
// ---------- DONE INJECTING  ----------
Game.exe.text+BD642: 50                    - push eax
Game.exe.text+BD643: E8 18 56 17 00        - call Game.exe.text+232C60
Game.exe.text+BD648: 85 C0                 - test eax,eax
Game.exe.text+BD64A: 74 0F                 - je Game.exe.text+BD65B
Game.exe.text+BD64C: 0F B7 80 24 01 00 00  - movzx eax,word ptr [eax+00000124]
Game.exe.text+BD653: 66 85 C0              - test ax,ax
Game.exe.text+BD656: 7E 03                 - jle Game.exe.text+BD65B
Game.exe.text+BD658: 0F BF F8              - movsx edi,ax
Game.exe.text+BD65B: 56                    - push esi
Game.exe.text+BD65C: E8 FF 9A 16 00        - call Game.exe.text+227160
}
</AssemblerScript>
              <CheatEntries>
                <CheatEntry>
                  <ID>134729</ID>
                  <Description>"Last Moved Item PTR"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>injectionInv</Address>
                  <Offsets>
                    <Offset>4</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>134730</ID>
              <Description>"Writable Inv Injection"</Description>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : Diablo II
  Version: 
  Date   : 2022-08-30
  Author : CrazySquirrel

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(writeInv,Game.exe,83 ?? ?? 75 ?? 8B ?? ?? 50 56 E8) // should be unique
alloc(newmem,$1000)
label(writeInvInj)
registersymbol(writeInvInj)
label(code)
label(return)

newmem:
mov [writeInvInj],edi
jmp code

writeInvInj:
dd 0

code:
  cmp dword ptr [edi],04
  reassemble(writeInv+3)
  jmp return

writeInv:
  jmp newmem
return:
registersymbol(writeInv)

[DISABLE]

writeInv:
  db 83 3F 04 75 7B

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Game.exe.text+23CD46

Game.exe.text+23CD20: 56                 - push esi
Game.exe.text+23CD21: 8B 74 24 08        - mov esi,[esp+08]
Game.exe.text+23CD25: 85 F6              - test esi,esi
Game.exe.text+23CD27: 0F 84 9A 00 00 00  - je Game.exe.text+23CDC7
Game.exe.text+23CD2D: 81 3E 04 03 02 01  - cmp [esi],01020304
Game.exe.text+23CD33: 0F 85 8E 00 00 00  - jne Game.exe.text+23CDC7
Game.exe.text+23CD39: 57                 - push edi
Game.exe.text+23CD3A: 8B 7C 24 10        - mov edi,[esp+10]
Game.exe.text+23CD3E: 85 FF              - test edi,edi
Game.exe.text+23CD40: 0F 84 80 00 00 00  - je Game.exe.text+23CDC6
// ---------- INJECTING HERE ----------
Game.exe.text+23CD46: 83 3F 04           - cmp dword ptr [edi],04
// ---------- DONE INJECTING  ----------
Game.exe.text+23CD49: 75 7B              - jne Game.exe.text+23CDC6
Game.exe.text+23CD4B: 8B 47 0C           - mov eax,[edi+0C]
Game.exe.text+23CD4E: 50                 - push eax
Game.exe.text+23CD4F: 56                 - push esi
Game.exe.text+23CD50: E8 8B FF FF FF     - call Game.exe.text+23CCE0
Game.exe.text+23CD55: 85 C0              - test eax,eax
Game.exe.text+23CD57: 75 6D              - jne Game.exe.text+23CDC6
Game.exe.text+23CD59: 8B 4E 04           - mov ecx,[esi+04]
Game.exe.text+23CD5C: 50                 - push eax
Game.exe.text+23CD5D: 68 0A 0D 00 00     - push 00000D0A
}
</AssemblerScript>
              <CheatEntries>
                <CheatEntry>
                  <ID>134731</ID>
                  <Description>"Last Moved Writable Injection"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>writeInvInj</Address>
                  <Offsets>
                    <Offset>0</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>134737</ID>
              <Description>"Gold Injection"</Description>
              <Options moHideChildren="1"/>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : Game.exe
  Version: 
  Date   : 2022-08-30
  Author : CrazySquirrel

  This script will need to be merged, but here is for now.
  Gold injection copy.
}

[ENABLE]

aobscanmodule(goldInject,Game.exe,89 ?? ?? 7E ?? 8B ?? ?? ?? 80 ?? ?? ?? 74 ?? 81) // should be unique
alloc(newmem,$1000)

label(code)
label(return)
label(goldAddy)
registersymbol(goldAddy)

newmem:
cmp [eax+F78],1
jne code
push ebx
lea ebx,[eax+04]
mov [goldAddy],ebx
pop ebx
jmp code

goldAddy:
dd 0

code:
  mov [eax+04],edi
  reassemble(goldInject+3)
  jmp return

goldInject:
  jmp newmem
return:
registersymbol(goldInject)

[DISABLE]

goldInject:
  db 89 78 04 7E 11

unregistersymbol(goldInject)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Game.exe.text+224354

Game.exe.text+22433A: 85 C0                 - test eax,eax
Game.exe.text+22433C: 75 0A                 - jne Game.exe.text+224348
Game.exe.text+22433E: 8B 13                 - mov edx,[ebx]
Game.exe.text+224340: 52                    - push edx
Game.exe.text+224341: 8B C7                 - mov eax,edi
Game.exe.text+224343: E8 B8 FB FF FF        - call Game.exe.text+223F00
Game.exe.text+224348: 8B 68 04              - mov ebp,[eax+04]
Game.exe.text+22434B: 8B 4C 24 14           - mov ecx,[esp+14]
Game.exe.text+22434F: 8D 3C 29              - lea edi,[ecx+ebp]
Game.exe.text+224352: 85 FF                 - test edi,edi
// ---------- INJECTING HERE ----------
Game.exe.text+224354: 89 78 04              - mov [eax+04],edi
// ---------- DONE INJECTING  ----------
Game.exe.text+224357: 7E 11                 - jle Game.exe.text+22436A
Game.exe.text+224359: 8B 54 24 18           - mov edx,[esp+18]
Game.exe.text+22435D: 80 7A 53 00           - cmp byte ptr [edx+53],00
Game.exe.text+224361: 74 07                 - je Game.exe.text+22436A
Game.exe.text+224363: 81 4B 10 00 00 00 20  - or [ebx+10],20000000
Game.exe.text+22436A: 83 78 04 00           - cmp dword ptr [eax+04],00
Game.exe.text+22436E: 75 14                 - jne Game.exe.text+224384
Game.exe.text+224370: 8B 4C 24 18           - mov ecx,[esp+18]
Game.exe.text+224374: 80 79 50 00           - cmp byte ptr [ecx+50],00
Game.exe.text+224378: 75 0A                 - jne Game.exe.text+224384
}
</AssemblerScript>
              <CheatEntries>
                <CheatEntry>
                  <ID>134738</ID>
                  <Description>"Gold Value (drop or gain to activate)"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>goldAddy</Address>
                  <Offsets>
                    <Offset>0</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>134191</ID>
              <Description>"Stats &amp; Item Stat Multiplier"</Description>
              <Options moHideChildren="1"/>
              <Color>0060BF</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>// This script will modify all stat and item values. Some may have a limit, vit and energy
// have some issues with this. Items will have crazy values if you crank this up

[ENABLE]

aobscanmodule(statSkill,D2Common.dll,01 ?? ?? 75 ?? 8B ?? 51 8B ?? E8)
alloc(newmem,$100)

label(stat_modifier)
label(code)
label(return)
registersymbol(stat_modifier)

newmem:
       pushf
       cmp [eax+36C],0
       je code
       push ebx
       mov ebx,[stat_modifier]
       add [eax+04],ebx
       pop ebx
       popf
       reassemble(statSkill+3)
jmp return

stat_modifier:
dd #100  // Default value, add 100 to all values brought in.

code:
  popf
  add [eax+04],ebp
  reassemble(statSkill+3)
  jmp return


statSkill:
  jmp newmem
return:
registersymbol(statSkill)

[DISABLE]

statSkill:
  db 01 68 04 75 0A

unregistersymbol(*)
dealloc(*)
</AssemblerScript>
              <CheatEntries>
                <CheatEntry>
                  <ID>134192</ID>
                  <Description>"Amount Added"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>0060BF</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>stat_modifier</Address>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>134709</ID>
              <Description>"Drop Rarity (Can Not Drop Sets)"</Description>
              <DropDownList>9:Set
8:Custom/Orange
7:Unique
6:Rare
4:Magic
2:Common
</DropDownList>
              <Color>008000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : Game.exe
  Version:
  Date   : 2022-08-25
  Author : scarl

  This script rewrites item rarity before it is dropped.
}

[ENABLE]

aobscanmodule(testinginv,D2Game.dll,8B ?? ?? 85 ?? ?? ?? 8B ?? 50 8B ?? ?? 50) // should be unique
aobscanmodule(pushType,D2Game.dll,6A 04 51 E8 ?? ?? ?? ?? C7 ?? ?? 04 00 00 00)
aobscanmodule(changeTo,D2Game.dll,6A ?? 51 E8 ?? ?? ?? ?? C7 ?? ?? 06 00 00 00 8B ?? 52 E8 ?? ?? ?? ?? ?? ??)
alloc(newmem,$1000)

label(code)
label(return)
label(returntest)
label(itemrarity)
label(pushing)
label(returnPushingTwo)
label(pushing_two)
registersymbol(itemrarity)

newmem:
push ebx
mov ebx,[itemrarity] // Pushing item rarity value into the item.
mov [edi+30],ebx
pop ebx
jmp code

pushing_two:
   push [itemrarity] // normally push 06
   push ecx
   reassemble(changeTo+4)
   push eax
   mov eax,[itemrarity] // Pushing item rarity value into the item.
   mov [ebx+30],eax
   pop eax
jmp returnPushingTwo

pushing:
   push eax
   mov eax,[itemrarity]
   push itemrarity
   push ecx
   reassemble(pushType+3)
   mov [ebx+30],eax
   pop eax
   jmp return

/* ORIGINAL CODE
  push 04
  push ecx
  call Game.exe+228190
  mov [ebx+30],00000004
*/
itemrarity:
dd #7 // unique value

code:
  reassemble(testinginv)
  reassemble(testinginv+3)
  jmp returntest

testinginv:
  jmp newmem
returntest:

pushType:
  jmp pushing
  nop
  nop
  nop
  nop
  nop
  nop
  nop
  nop
  nop
  nop
return:

changeTo:
     jmp pushing_two
  nop
  nop
  nop
  nop
  nop
  nop
  nop
  nop
  nop
  nop
returnPushingTwo:

registersymbol(testinginv)
registersymbol(pushType)
registersymbol(changeTo)

[DISABLE]

testinginv:
  db 8B 4F 30 85 C9
pushType:
  db 6A 04 51 E8 69 AB FF FF C7 43 30 04 00 00 00
changeTo:
  db 6A 06 51 E8 26 A9 FF FF C7 43 30 06 00 00 00
unregistersymbol(*)
dealloc(*)

{
// ORIGINAL CODE - INJECTION POINT: Game.exe.text+1545A9

Game.exe.text+15458B: E8 60 2D 0D 00  - call Game.exe.text+2272F0
Game.exe.text+154590: 8B 4D 00        - mov ecx,[ebp+00]
Game.exe.text+154593: 6A 00           - push 00
Game.exe.text+154595: 51              - push ecx
Game.exe.text+154596: E8 A5 2D 0D 00  - call Game.exe.text+227340
Game.exe.text+15459B: 8B 7C 24 1C     - mov edi,[esp+1C]
Game.exe.text+15459F: 8B 55 00        - mov edx,[ebp+00]
Game.exe.text+1545A2: 57              - push edi
Game.exe.text+1545A3: 52              - push edx
Game.exe.text+1545A4: E8 A7 FA FF FF  - call Game.exe.text+154050
// ---------- INJECTING HERE ----------
Game.exe.text+1545A9: 8B 4F 30        - mov ecx,[edi+30]
// ---------- DONE INJECTING  ----------
Game.exe.text+1545AC: 85 C9           - test ecx,ecx
Game.exe.text+1545AE: 74 02           - je Game.exe.text+1545B2
Game.exe.text+1545B0: 8B C1           - mov eax,ecx
Game.exe.text+1545B2: 50              - push eax
Game.exe.text+1545B3: 8B 45 00        - mov eax,[ebp+00]
Game.exe.text+1545B6: 50              - push eax
Game.exe.text+1545B7: E8 D4 2B 0D 00  - call Game.exe.text+227190
Game.exe.text+1545BC: 8B 4D 00        - mov ecx,[ebp+00]
Game.exe.text+1545BF: 51              - push ecx
Game.exe.text+1545C0: E8 1B 95 0D 00  - call Game.exe.text+22DAE0
}
</AssemblerScript>
              <CheatEntries>
                <CheatEntry>
                  <ID>134716</ID>
                  <Description>"Rarity"</Description>
                  <DropDownList ReadOnly="1" DisplayValueAsItem="1">9:Set
8:Crafted
7:Unique
6:Rare
5:??? (None)
4:Magic
3:Superior
2:Normal
1:Low Quality
</DropDownList>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>008000</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>itemrarity</Address>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>134708</ID>
              <Description>"Drop Type"</Description>
              <Color>008000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : Diablo II
  Version:
  Date   : 2024-02-27
  Author : User

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(ItemTest,D2Game.dll,8B F0 85 F6 89 74 24 14 75 1F) // should be unique
alloc(newmem,$1000)

label(code)
label(return)
label(itemid)
registersymbol(itemid)

newmem:
  push ebx
  mov ebx,[itemid]
  mov [eax+04],ebx
  pop ebx
  jmp code

itemid:
  dd #522

code:
  mov esi,eax
  test esi,esi
  mov [esp+14],esi
  jmp return

ItemTest:
  jmp newmem
  nop 3
return:
registersymbol(ItemTest)

[DISABLE]

ItemTest:
  db 8B F0 85 F6 89 74 24 14

unregistersymbol(ItemTest)
dealloc(newmem)

{
// ORIGINAL CODE - ItemTestION POINT: D2Game.dll+11523

D2Game.dll+1150B: 50              - push eax
D2Game.dll+1150C: 8B 45 08        - mov eax,[ebp+08]
D2Game.dll+1150F: 51              - push ecx
D2Game.dll+11510: 8B 4D 20        - mov ecx,[ebp+20]
D2Game.dll+11513: 50              - push eax
D2Game.dll+11514: 8B 45 1C        - mov eax,[ebp+1C]
D2Game.dll+11517: 51              - push ecx
D2Game.dll+11518: 50              - push eax
D2Game.dll+11519: B9 04 00 00 00  - mov ecx,00000004
D2Game.dll+1151E: E8 6D 08 0D 00  - call D2Game.dll+E1D90
// ---------- ItemTestING HERE ----------
D2Game.dll+11523: 8B F0           - mov esi,eax
// ---------- DONE ItemTestING  ----------
D2Game.dll+11525: 85 F6           - test esi,esi
D2Game.dll+11527: 89 74 24 14     - mov [esp+14],esi
D2Game.dll+1152B: 75 1F           - jne D2Game.dll+1154C
D2Game.dll+1152D: 68 09 08 00 00  - push 00000809
D2Game.dll+11532: E8 A3 8D FF FF  - call D2Game.dll+A2DA
D2Game.dll+11537: 50              - push eax
D2Game.dll+11538: 68 F9 9F D1 6F  - push D2Game.dll+F9FF9
D2Game.dll+1153D: E8 80 8D FF FF  - call D2Game.dll+A2C2
D2Game.dll+11542: 83 C4 0C        - add esp,0C
D2Game.dll+11545: 6A FF           - push -01
}
</AssemblerScript>
              <CheatEntries>
                <CheatEntry>
                  <ID>134719</ID>
                  <Description>"MXL"</Description>
                  <DropDownList DisplayValueAsItem="1">1:Oil Potion
2:Choking Gas Potion
3:Exploding Potion
4:Strangling Gas Potion
5:Fulminating Potion
6:Decoy Gidbin
7:The Gidbin
8:Wirt's Leg
9:Horadric Malus
10:Hell Forge Hammer
11:Horadric Staff
12:Staff of Kings
13:Khalim's Flail
14:Khalim's Will
15:Throwing Axe
16:Broad Sword
17:Voulge
18:Angel Star [1]
19:Angel Star [2]
20:Angel Star [3]
21:Angel Star [4]
22:Angel Star [Sacred]
23:Axe [1]
24:Axe [2]
25:Axe [3]
26:Axe [4]
27:Axe [Sacred]
28:Backsword [1]
29:Backsword [2]
30:Backsword [3]
31:Backsword [4]
32:Backsword [Sacred]
33:Balanced Axe [1]
34:Balanced Axe [2]
35:Balanced Axe [3]
36:Balanced Axe [4]
37:Balanced Axe [Sacred]
38:Balanced Knife [1]
39:Balanced Knife [2]
40:Balanced Knife [3]
41:Balanced Knife [4]
42:Balanced Knife [Sacred]
43:Bardiche [1]
44:Bardiche [2]
45:Bardiche [3]
46:Bardiche [4]
47:Bardiche [Sacred]
48:Bastard Sword [1]
49:Bastard Sword [2]
50:Bastard Sword [3]
51:Bastard Sword [4]
52:Bastard Sword [Sacred]
53:Battle Axe [1]
54:Battle Axe [2]
55:Battle Axe [3]
56:Battle Axe [4]
57:Battle Axe [Sacred]
58:Battle Staff [1]
59:Battle Staff [2]
60:Battle Staff [3]
61:Battle Staff [4]
62:Battle Staff [Sacred]
63:Blade [1]
64:Blade [2]
65:Blade [3]
66:Blade [4]
67:Blade [Sacred]
68:Blade Talons [1]
69:Blade Talons [2]
70:Blade Talons [3]
71:Blade Talons [4]
72:Blade Talons [Sacred]
73:Bone Wand [1]
74:Bone Wand [2]
75:Bone Wand [3]
76:Bone Wand [4]
77:Bone Wand [Sacred]
78:Bonebreaker [1]
79:Bonebreaker [2]
80:Bonebreaker [3]
81:Bonebreaker [4]
82:Bonebreaker [Sacred]
83:Bonesplitter [1]
84:Bonesplitter [2]
85:Bonesplitter [3]
86:Bonesplitter [4]
87:Bonesplitter [Sacred]
88:Brandistock [1]
89:Brandistock [2]
90:Brandistock [3]
91:Brandistock [4]
92:Brandistock [Sacred]
93:Broad Axe [1]
94:Broad Axe [2]
95:Broad Axe [3]
96:Broad Axe [4]
97:Broad Axe [Sacred]
98:Broad Sword [1]
99:Broad Sword [2]
100:Broad Sword [3]
101:Broad Sword [4]
102:Broad Sword [Sacred]
103:Bronze Sword [1]
104:Bronze Sword [2]
105:Bronze Sword [3]
106:Bronze Sword [4]
107:Bronze Sword [Sacred]
108:Cestus [1]
109:Cestus [2]
110:Cestus [3]
111:Cestus [4]
112:Cestus [Sacred]
113:Clasped Orb [1]
114:Clasped Orb [2]
115:Clasped Orb [3]
116:Clasped Orb [4]
117:Clasped Orb [Sacred]
118:Claws [1]
119:Claws [2]
120:Claws [3]
121:Claws [4]
122:Claws [Sacred]
123:Claymore [1]
124:Claymore [2]
125:Claymore [3]
126:Claymore [4]
127:Claymore [Sacred]
128:Club [1]
129:Club [2]
130:Club [3]
131:Club [4]
132:Club [Sacred]
133:Composite Bow [1]
134:Composite Bow [2]
135:Composite Bow [3]
136:Composite Bow [4]
137:Composite Bow [Sacred]
138:Compound Bow [1]
139:Compound Bow [2]
140:Compound Bow [3]
141:Compound Bow [4]
142:Compound Bow [Sacred]
143:Crossbow [1]
144:Crossbow [2]
145:Crossbow [3]
146:Crossbow [4]
147:Crossbow [Sacred]
148:Crystal Sword [1]
149:Crystal Sword [2]
150:Crystal Sword [3]
151:Crystal Sword [4]
152:Crystal Sword [Sacred]
153:Dagger [1]
154:Dagger [2]
155:Dagger [3]
156:Dagger [4]
157:Dagger [Sacred]
158:Dart Thrower [1]
159:Dart Thrower [2]
160:Dart Thrower [3]
161:Dart Thrower [4]
162:Dart Thrower [Sacred]
163:Dirk [1]
164:Dirk [2]
165:Dirk [3]
166:Dirk [4]
167:Dirk [Sacred]
168:Double Axe [1]
169:Double Axe [2]
170:Double Axe [3]
171:Double Axe [4]
172:Double Axe [Sacred]
173:Jared's Stone [1]
174:Jared's Stone [2]
175:Jared's Stone [3]
176:Jared's Stone [4]
177:Jared's Stone [Sacred]
178:Eagle Orb [1]
179:Eagle Orb [2]
180:Eagle Orb [3]
181:Eagle Orb [4]
182:Eagle Orb [Sacred]
183:Falchion [1]
184:Falchion [2]
185:Falchion [3]
186:Falchion [4]
187:Falchion [Sacred]
188:Flail [1]
189:Flail [2]
190:Flail [3]
191:Flail [4]
192:Flail [Sacred]
193:Flamberge [1]
194:Flamberge [2]
195:Flamberge [3]
196:Flamberge [4]
197:Flamberge [Sacred]
198:Flamen Staff [1]
199:Flamen Staff [2]
200:Flamen Staff [3]
201:Flamen Staff [4]
202:Flamen Staff [Sacred]
203:Flying Knife [1]
204:Flying Knife [2]
205:Flying Knife [3]
206:Flying Knife [4]
207:Flying Knife [Sacred]
208:Giant Axe [1]
209:Giant Axe [2]
210:Giant Axe [3]
211:Giant Axe [4]
212:Giant Axe [Sacred]
213:Giant Sword [1]
214:Giant Sword [2]
215:Giant Sword [3]
216:Giant Sword [4]
217:Giant Sword [Sacred]
218:Glaive [1]
219:Glaive [2]
220:Glaive [3]
221:Glaive [4]
222:Glaive [Sacred]
223:Gnarled Staff [1]
224:Gnarled Staff [2]
225:Gnarled Staff [3]
226:Gnarled Staff [4]
227:Gnarled Staff [Sacred]
228:Goedendag [1]
229:Goedendag [2]
230:Goedendag [3]
231:Goedendag [4]
232:Goedendag [Sacred]
233:Grand Scepter [1]
234:Grand Scepter [2]
235:Grand Scepter [3]
236:Grand Scepter [4]
237:Grand Scepter [Sacred]
238:Great Axe [1]
239:Great Axe [2]
240:Great Axe [3]
241:Great Axe [4]
242:Great Axe [Sacred]
243:Great Maul [1]
244:Great Maul [2]
245:Great Maul [3]
246:Great Maul [4]
247:Great Maul [Sacred]
248:Great Sword [1]
249:Great Sword [2]
250:Great Sword [3]
251:Great Sword [4]
252:Great Sword [Sacred]
253:Grim Wand [1]
254:Grim Wand [2]
255:Grim Wand [3]
256:Grim Wand [4]
257:Grim Wand [Sacred]
258:Halberd [1]
259:Halberd [2]
260:Halberd [3]
261:Halberd [4]
262:Halberd [Sacred]
263:Hammerhead Axe [1]
264:Hammerhead Axe [2]
265:Hammerhead Axe [3]
266:Hammerhead Axe [4]
267:Hammerhead Axe [Sacred]
268:Hand Axe [1]
269:Hand Axe [2]
270:Hand Axe [3]
271:Hand Axe [4]
272:Hand Axe [Sacred]
273:Hand of God [1]
274:Hand of God [2]
275:Hand of God [3]
276:Hand of God [4]
277:Hand of God [Sacred]
278:Hatchet Hands [1]
279:Hatchet Hands [2]
280:Hatchet Hands [3]
281:Hatchet Hands [4]
282:Hatchet Hands [Sacred]
283:Heavy Crossbow [1]
284:Heavy Crossbow [2]
285:Heavy Crossbow [3]
286:Heavy Crossbow [4]
287:Heavy Crossbow [Sacred]
288:Hexblade [1]
289:Hexblade [2]
290:Hexblade [3]
291:Hexblade [4]
292:Hexblade [Sacred]
293:Holy Lance [1]
294:Holy Lance [2]
295:Holy Lance [3]
296:Holy Lance [4]
297:Holy Lance [Sacred]
298:Hunter's Bow [1]
299:Hunter's Bow [2]
300:Hunter's Bow [3]
301:Hunter's Bow [4]
302:Hunter's Bow [Sacred]
303:Ida [1]
304:Ida [2]
305:Ida [3]
306:Ida [4]
307:Ida [Sacred]
308:Javelin [1]
309:Javelin [2]
310:Javelin [3]
311:Javelin [4]
312:Javelin [Sacred]
313:Katar [1]
314:Katar [2]
315:Katar [3]
316:Katar [4]
317:Katar [Sacred]
318:Kriegsmesser [1]
319:Kriegsmesser [2]
320:Kriegsmesser [3]
321:Kriegsmesser [4]
322:Kriegsmesser [Sacred]
323:Kriss [1]
324:Kriss [2]
325:Kriss [3]
326:Kriss [4]
327:Kriss [Sacred]
328:Labrys [1]
329:Labrys [2]
330:Labrys [3]
331:Labrys [4]
332:Labrys [Sacred]
333:Large Axe [1]
334:Large Axe [2]
335:Large Axe [3]
336:Large Axe [4]
337:Large Axe [Sacred]
338:Light Crossbow [1]
339:Light Crossbow [2]
340:Light Crossbow [3]
341:Light Crossbow [4]
342:Light Crossbow [Sacred]
343:Long Battle Bow [1]
344:Long Battle Bow [2]
345:Long Battle Bow [3]
346:Long Battle Bow [4]
347:Long Battle Bow [Sacred]
348:Long Bow [1]
349:Long Bow [2]
350:Long Bow [3]
351:Long Bow [4]
352:Long Bow [Sacred]
353:Long Staff [1]
354:Long Staff [2]
355:Long Staff [3]
356:Long Staff [4]
357:Long Staff [Sacred]
358:Long Sword [1]
359:Long Sword [2]
360:Long Sword [3]
361:Long Sword [4]
362:Long Sword [Sacred]
363:Long War Bow [1]
364:Long War Bow [2]
365:Long War Bow [3]
366:Long War Bow [4]
367:Long War Bow [Sacred]
368:Mace [1]
369:Mace [2]
370:Mace [3]
371:Mace [4]
372:Mace [Sacred]
373:Maiden Javelin [1]
374:Maiden Javelin [2]
375:Maiden Javelin [3]
376:Maiden Javelin [4]
377:Maiden Javelin [Sacred]
378:Maiden Pike [1]
379:Maiden Pike [2]
380:Maiden Pike [3]
381:Maiden Pike [4]
382:Maiden Pike [Sacred]
383:Maiden Spear [1]
384:Maiden Spear [2]
385:Maiden Spear [3]
386:Maiden Spear [4]
387:Maiden Spear [Sacred]
388:Mammen Axe [1]
389:Mammen Axe [2]
390:Mammen Axe [3]
391:Mammen Axe [4]
392:Mammen Axe [Sacred]
393:Maple Bow [1]
394:Maple Bow [2]
395:Maple Bow [3]
396:Maple Bow [4]
397:Maple Bow [Sacred]
398:Marrow Staff [1]
399:Marrow Staff [2]
400:Marrow Staff [3]
401:Marrow Staff [4]
402:Marrow Staff [Sacred]
403:Maul [1]
404:Maul [2]
405:Maul [3]
406:Maul [4]
407:Maul [Sacred]
408:Military Pick [1]
409:Military Pick [2]
410:Military Pick [3]
411:Military Pick [4]
412:Military Pick [Sacred]
413:Morning Star [1]
414:Morning Star [2]
415:Morning Star [3]
416:Morning Star [4]
417:Morning Star [Sacred]
418:Naginata [1]
419:Naginata [2]
420:Naginata [3]
421:Naginata [4]
422:Naginata [Sacred]
423:Needle Crossbow [1]
424:Needle Crossbow [2]
425:Needle Crossbow [3]
426:Needle Crossbow [4]
427:Needle Crossbow [Sacred]
428:Ono [1]
429:Ono [2]
430:Ono [3]
431:Ono [4]
432:Ono [Sacred]
433:Pike [1]
434:Pike [2]
435:Pike [3]
436:Pike [4]
437:Pike [Sacred]
438:Pilum [1]
439:Pilum [2]
440:Pilum [3]
441:Pilum [4]
442:Pilum [Sacred]
443:Raptor Scythe [1]
444:Raptor Scythe [2]
445:Raptor Scythe [3]
446:Raptor Scythe [4]
447:Raptor Scythe [Sacred]
448:Recurve Bow [1]
449:Recurve Bow [2]
450:Recurve Bow [3]
451:Recurve Bow [4]
452:Recurve Bow [Sacred]
453:Reflex Bow [1]
454:Reflex Bow [2]
455:Reflex Bow [3]
456:Reflex Bow [4]
457:Reflex Bow [Sacred]
458:Repeating Crossbow [1]
459:Repeating Crossbow [2]
460:Repeating Crossbow [3]
461:Repeating Crossbow [4]
462:Repeating Crossbow [Sacred]
463:Saber [1]
464:Saber [2]
465:Saber [3]
466:Saber [4]
467:Saber [Sacred]
468:Sacred Globe [1]
469:Sacred Globe [2]
470:Sacred Globe [3]
471:Sacred Globe [4]
472:Sacred Globe [Sacred]
473:Scepter [1]
474:Scepter [2]
475:Scepter [3]
476:Scepter [4]
477:Scepter [Sacred]
478:Scimitar [1]
479:Scimitar [2]
480:Scimitar [3]
481:Scimitar [4]
482:Scimitar [Sacred]
483:Scissors Katar [1]
484:Scissors Katar [2]
485:Scissors Katar [3]
486:Scissors Katar [4]
487:Scissors Katar [Sacred]
488:Scythe [1]
489:Scythe [2]
490:Scythe [3]
491:Scythe [4]
492:Scythe [Sacred]
493:Serpent Bow [1]
494:Serpent Bow [2]
495:Serpent Bow [3]
496:Serpent Bow [4]
497:Serpent Bow [Sacred]
498:Short Battle Bow [1]
499:Short Battle Bow [2]
500:Short Battle Bow [3]
501:Short Battle Bow [4]
502:Short Battle Bow [Sacred]
503:Short Bow [1]
504:Short Bow [2]
505:Short Bow [3]
506:Short Bow [4]
507:Short Bow [Sacred]
508:Short Spear [1]
509:Short Spear [2]
510:Short Spear [3]
511:Short Spear [4]
512:Short Spear [Sacred]
513:Short Staff [1]
514:Short Staff [2]
515:Short Staff [3]
516:Short Staff [4]
517:Short Staff [Sacred]
518:Short Sword [1]
519:Short Sword [2]
520:Short Sword [3]
521:Short Sword [4]
522:Short Sword [Sacred]
523:Short War Bow [1]
524:Short War Bow [2]
525:Short War Bow [3]
526:Short War Bow [4]
527:Short War Bow [Sacred]
528:Smoked Sphere [1]
529:Smoked Sphere [2]
530:Smoked Sphere [3]
531:Smoked Sphere [4]
532:Smoked Sphere [Sacred]
533:Spatha [1]
534:Spatha [2]
535:Spatha [3]
536:Spatha [4]
537:Spatha [Sacred]
538:Spear [1]
539:Spear [2]
540:Spear [3]
541:Spear [4]
542:Spear [Sacred]
543:Spetum [1]
544:Spetum [2]
545:Spetum [3]
546:Spetum [4]
547:Spetum [Sacred]
548:Spiked Club [1]
549:Spiked Club [2]
550:Spiked Club [3]
551:Spiked Club [4]
552:Spiked Club [Sacred]
553:Spirit Edge [1]
554:Spirit Edge [2]
555:Spirit Edge [3]
556:Spirit Edge [4]
557:Spirit Edge [Sacred]
558:Stag Bow [1]
559:Stag Bow [2]
560:Stag Bow [3]
561:Stag Bow [4]
562:Stag Bow [Sacred]
563:Stinger Crossbow [1]
564:Stinger Crossbow [2]
565:Stinger Crossbow [3]
566:Stinger Crossbow [4]
567:Stinger Crossbow [Sacred]
568:Tepoztopilli [1]
569:Tepoztopilli [2]
570:Tepoztopilli [3]
571:Tepoztopilli [4]
572:Tepoztopilli [Sacred]
573:Throwing Axe [1]
574:Throwing Axe [2]
575:Throwing Axe [3]
576:Throwing Axe [4]
577:Throwing Axe [Sacred]
578:Throwing Knife [1]
579:Throwing Knife [2]
580:Throwing Knife [3]
581:Throwing Knife [4]
582:Throwing Knife [Sacred]
583:Throwing Spear [1]
584:Throwing Spear [2]
585:Throwing Spear [3]
586:Throwing Spear [4]
587:Throwing Spear [Sacred]
588:Trebuchet [1]
589:Trebuchet [2]
590:Trebuchet [3]
591:Trebuchet [4]
592:Trebuchet [Sacred]
593:Trident [1]
594:Trident [2]
595:Trident [3]
596:Trident [4]
597:Trident [Sacred]
598:Two-Handed Sword [1]
599:Two-Handed Sword [2]
600:Two-Handed Sword [3]
601:Two-Handed Sword [4]
602:Two-Handed Sword [Sacred]
603:Valaska [1]
604:Valaska [2]
605:Valaska [3]
606:Valaska [4]
607:Valaska [Sacred]
608:Viper Bow [1]
609:Viper Bow [2]
610:Viper Bow [3]
611:Viper Bow [4]
612:Viper Bow [Sacred]
613:Voulge [1]
614:Voulge [2]
615:Voulge [3]
616:Voulge [4]
617:Voulge [Sacred]
618:Wand [1]
619:Wand [2]
620:Wand [3]
621:Wand [4]
622:Wand [Sacred]
623:War Axe [1]
624:War Axe [2]
625:War Axe [3]
626:War Axe [4]
627:War Axe [Sacred]
628:War Hammer [1]
629:War Hammer [2]
630:War Hammer [3]
631:War Hammer [4]
632:War Hammer [Sacred]
633:War Scepter [1]
634:War Scepter [2]
635:War Scepter [3]
636:War Scepter [4]
637:War Scepter [Sacred]
638:War Staff [1]
639:War Staff [2]
640:War Staff [3]
641:War Staff [4]
642:War Staff [Sacred]
643:War Sword [1]
644:War Sword [2]
645:War Sword [3]
646:War Sword [4]
647:War Sword [Sacred]
648:Warp Blade [1]
649:Warp Blade [2]
650:Warp Blade [3]
651:Warp Blade [4]
652:Warp Blade [Sacred]
653:Wrist Blade [1]
654:Wrist Blade [2]
655:Wrist Blade [3]
656:Wrist Blade [4]
657:Wrist Blade [Sacred]
658:Yew Wand [1]
659:Yew Wand [2]
660:Yew Wand [3]
661:Yew Wand [4]
662:Yew Wand [Sacred]
663:Sacred Bow
664:Mystical Blade
665:Tyrannical Blade
666:Voidsworn Bow
667:Voidforged Staff
668:Wirt's Other Leg
669:Elder Staff [Basic]
670:Elder Staff
671:Mana Blade [Mythical]
672:Maiden Bow [Mastercrafted]
673:Kukri [Mastercrafted]
674:Gothic Staff [Mastercrafted]
675:Crown
676:Field Plate
677:Greaves
678:Gauntlets
679:Tower Shield
680:Aerin Shield [1]
681:Aerin Shield [2]
682:Aerin Shield [3]
683:Aerin Shield [4]
684:Aerin Shield [Sacred]
685:Ancient Armor [1]
686:Ancient Armor [2]
687:Ancient Armor [3]
688:Ancient Armor [4]
689:Ancient Armor [Sacred]
690:Antlers [1]
691:Antlers [2]
692:Antlers [3]
693:Antlers [4]
694:Antlers [Sacred]
695:Aspis [1]
696:Aspis [2]
697:Aspis [3]
698:Aspis [4]
699:Aspis [Sacred]
700:Assault Helmet [1]
701:Assault Helmet [2]
702:Assault Helmet [3]
703:Assault Helmet [4]
704:Assault Helmet [Sacred]
705:Athulua's Hand [1]
706:Athulua's Hand [2]
707:Athulua's Hand [3]
708:Athulua's Hand [4]
709:Athulua's Hand [Sacred]
710:Avenger Guard [1]
711:Avenger Guard [2]
712:Avenger Guard [3]
713:Avenger Guard [4]
714:Avenger Guard [Sacred]
715:Banded Plate [1]
716:Banded Plate [2]
717:Banded Plate [3]
718:Banded Plate [4]
719:Banded Plate [Sacred]
720:Belt [1]
721:Belt [2]
722:Belt [3]
723:Belt [4]
724:Belt [Sacred]
725:Blackguard Helm [1]
726:Blackguard Helm [2]
727:Blackguard Helm [3]
728:Blackguard Helm [4]
729:Blackguard Helm [Sacred]
730:Bladed Shield [1]
731:Bladed Shield [2]
732:Bladed Shield [3]
733:Bladed Shield [4]
734:Bladed Shield [Sacred]
735:Bone Helm [1]
736:Bone Helm [2]
737:Bone Helm [3]
738:Bone Helm [4]
739:Bone Helm [Sacred]
740:Bone Shield [1]
741:Bone Shield [2]
742:Bone Shield [3]
743:Bone Shield [4]
744:Bone Shield [Sacred]
745:Boots [1]
746:Boots [2]
747:Boots [3]
748:Boots [4]
749:Boots [Sacred]
750:Breast Plate [1]
751:Breast Plate [2]
752:Breast Plate [3]
753:Breast Plate [4]
754:Breast Plate [Sacred]
755:Bronze Shield [1]
756:Bronze Shield [2]
757:Bronze Shield [3]
758:Bronze Shield [4]
759:Bronze Shield [Sacred]
760:Buckler [1]
761:Buckler [2]
762:Buckler [3]
763:Buckler [4]
764:Buckler [Sacred]
765:Bull Shield [1]
766:Bull Shield [2]
767:Bull Shield [3]
768:Bull Shield [4]
769:Bull Shield [Sacred]
770:Cap [1]
771:Cap [2]
772:Cap [3]
773:Cap [4]
774:Cap [Sacred]
775:Ceremonial Armor [1]
776:Ceremonial Armor [2]
777:Ceremonial Armor [3]
778:Ceremonial Armor [4]
779:Ceremonial Armor [Sacred]
780:Cervelliere [1]
781:Cervelliere [2]
782:Cervelliere [3]
783:Cervelliere [4]
784:Cervelliere [Sacred]
785:Chain Boots [1]
786:Chain Boots [2]
787:Chain Boots [3]
788:Chain Boots [4]
789:Chain Boots [Sacred]
790:Chain Gloves [1]
791:Chain Gloves [2]
792:Chain Gloves [3]
793:Chain Gloves [4]
794:Chain Gloves [Sacred]
795:Chain Mail [1]
796:Chain Mail [2]
797:Chain Mail [3]
798:Chain Mail [4]
799:Chain Mail [Sacred]
800:Circlet [1]
801:Circlet [2]
802:Circlet [3]
803:Circlet [4]
804:Circlet [Sacred]
805:Coronet [1]
806:Coronet [2]
807:Coronet [3]
808:Coronet [4]
809:Coronet [Sacred]
810:Crown [1]
811:Crown [2]
812:Crown [3]
813:Crown [4]
814:Crown [Sacred]
815:Crown Shield [1]
816:Crown Shield [2]
817:Crown Shield [3]
818:Crown Shield [4]
819:Crown Shield [Sacred]
820:Demon Head [1]
821:Demon Head [2]
822:Demon Head [3]
823:Demon Head [4]
824:Demon Head [Sacred]
825:Diadem [1]
826:Diadem [2]
827:Diadem [3]
828:Diadem [4]
829:Diadem [Sacred]
830:Einheriar Helm [1]
831:Einheriar Helm [2]
832:Einheriar Helm [3]
833:Einheriar Helm [4]
834:Einheriar Helm [Sacred]
835:Falcon Mask [1]
836:Falcon Mask [2]
837:Falcon Mask [3]
838:Falcon Mask [4]
839:Falcon Mask [Sacred]
840:Fanged Helm [1]
841:Fanged Helm [2]
842:Fanged Helm [3]
843:Fanged Helm [4]
844:Fanged Helm [Sacred]
845:Field Plate [1]
846:Field Plate [2]
847:Field Plate [3]
848:Field Plate [4]
849:Field Plate [Sacred]
850:Full Helm [1]
851:Full Helm [2]
852:Full Helm [3]
853:Full Helm [4]
854:Full Helm [Sacred]
855:Full Plate Mail [1]
856:Full Plate Mail [2]
857:Full Plate Mail [3]
858:Full Plate Mail [4]
859:Full Plate Mail [Sacred]
860:Gambeson [1]
861:Gambeson [2]
862:Gambeson [3]
863:Gambeson [4]
864:Gambeson [Sacred]
865:Gargoyle Head [1]
866:Gargoyle Head [2]
867:Gargoyle Head [3]
868:Gargoyle Head [4]
869:Gargoyle Head [Sacred]
870:Gauntlets [1]
871:Gauntlets [2]
872:Gauntlets [3]
873:Gauntlets [4]
874:Gauntlets [Sacred]
875:Gilded Shield [1]
876:Gilded Shield [2]
877:Gilded Shield [3]
878:Gilded Shield [4]
879:Gilded Shield [Sacred]
880:Gothic Plate [1]
881:Gothic Plate [2]
882:Gothic Plate [3]
883:Gothic Plate [4]
884:Gothic Plate [Sacred]
885:Gothic Shield [1]
886:Gothic Shield [2]
887:Gothic Shield [3]
888:Gothic Shield [4]
889:Gothic Shield [Sacred]
890:Great Helm [1]
891:Great Helm [2]
892:Great Helm [3]
893:Great Helm [4]
894:Great Helm [Sacred]
895:Greaves [1]
896:Greaves [2]
897:Greaves [3]
898:Greaves [4]
899:Greaves [Sacred]
900:Hard Leather Armor [1]
901:Hard Leather Armor [2]
902:Hard Leather Armor [3]
903:Hard Leather Armor [4]
904:Hard Leather Armor [Sacred]
905:Hawk Helm [1]
906:Hawk Helm [2]
907:Hawk Helm [3]
908:Hawk Helm [4]
909:Hawk Helm [Sacred]
910:Heavy Belt [1]
911:Heavy Belt [2]
912:Heavy Belt [3]
913:Heavy Belt [4]
914:Heavy Belt [Sacred]
915:Heavy Boots [1]
916:Heavy Boots [2]
917:Heavy Boots [3]
918:Heavy Boots [4]
919:Heavy Boots [Sacred]
920:Heavy Gloves [1]
921:Heavy Gloves [2]
922:Heavy Gloves [3]
923:Heavy Gloves [4]
924:Heavy Gloves [Sacred]
925:Helm [1]
926:Helm [2]
927:Helm [3]
928:Helm [4]
929:Helm [Sacred]
930:Heraldic Shield [1]
931:Heraldic Shield [2]
932:Heraldic Shield [3]
933:Heraldic Shield [4]
934:Heraldic Shield [Sacred]
935:Horned Helm [1]
936:Horned Helm [2]
937:Horned Helm [3]
938:Horned Helm [4]
939:Horned Helm [Sacred]
940:Hundsgugel [1]
941:Hundsgugel [2]
942:Hundsgugel [3]
943:Hundsgugel [4]
944:Hundsgugel [Sacred]
945:Jawbone Cap [1]
946:Jawbone Cap [2]
947:Jawbone Cap [3]
948:Jawbone Cap [4]
949:Jawbone Cap [Sacred]
950:Kazarghand [1]
951:Kazarghand [2]
952:Kazarghand [3]
953:Kazarghand [4]
954:Kazarghand [Sacred]
955:Kite Shield [1]
956:Kite Shield [2]
957:Kite Shield [3]
958:Kite Shield [4]
959:Kite Shield [Sacred]
960:Lamellar Armor [1]
961:Lamellar Armor [2]
962:Lamellar Armor [3]
963:Lamellar Armor [4]
964:Lamellar Armor [Sacred]
965:Large Shield [1]
966:Large Shield [2]
967:Large Shield [3]
968:Large Shield [4]
969:Large Shield [Sacred]
970:Leather Armor [1]
971:Leather Armor [2]
972:Leather Armor [3]
973:Leather Armor [4]
974:Leather Armor [Sacred]
975:Leather Gloves [1]
976:Leather Gloves [2]
977:Leather Gloves [3]
978:Leather Gloves [4]
979:Leather Gloves [Sacred]
980:Light Belt [1]
981:Light Belt [2]
982:Light Belt [3]
983:Light Belt [4]
984:Light Belt [Sacred]
985:Light Gauntlets [1]
986:Light Gauntlets [2]
987:Light Gauntlets [3]
988:Light Gauntlets [4]
989:Light Gauntlets [Sacred]
990:Light Plate [1]
991:Light Plate [2]
992:Light Plate [3]
993:Light Plate [4]
994:Light Plate [Sacred]
995:Light Plated Boots [1]
996:Light Plated Boots [2]
997:Light Plated Boots [3]
998:Light Plated Boots [4]
999:Light Plated Boots [Sacred]
1000:Mask [1]
1001:Mask [2]
1002:Mask [3]
1003:Mask [4]
1004:Mask [Sacred]
1005:Morion [1]
1006:Morion [2]
1007:Morion [3]
1008:Morion [4]
1009:Morion [Sacred]
1010:Parma [1]
1011:Parma [2]
1012:Parma [3]
1013:Parma [4]
1014:Parma [Sacred]
1015:Phoenix Shield [1]
1016:Phoenix Shield [2]
1017:Phoenix Shield [3]
1018:Phoenix Shield [4]
1019:Phoenix Shield [Sacred]
1020:Plate Mail [1]
1021:Plate Mail [2]
1022:Plate Mail [3]
1023:Plate Mail [4]
1024:Plate Mail [Sacred]
1025:Plated Belt [1]
1026:Plated Belt [2]
1027:Plated Belt [3]
1028:Plated Belt [4]
1029:Plated Belt [Sacred]
1030:Preserved Head [1]
1031:Preserved Head [2]
1032:Preserved Head [3]
1033:Preserved Head [4]
1034:Preserved Head [Sacred]
1035:Quilted Armor [1]
1036:Quilted Armor [2]
1037:Quilted Armor [3]
1038:Quilted Armor [4]
1039:Quilted Armor [Sacred]
1040:Ring Mail [1]
1041:Ring Mail [2]
1042:Ring Mail [3]
1043:Ring Mail [4]
1044:Ring Mail [Sacred]
1045:Rondache [1]
1046:Rondache [2]
1047:Rondache [3]
1048:Rondache [4]
1049:Rondache [Sacred]
1050:Sash [1]
1051:Sash [2]
1052:Sash [3]
1053:Sash [4]
1054:Sash [Sacred]
1055:Scale Mail [1]
1056:Scale Mail [2]
1057:Scale Mail [3]
1058:Scale Mail [4]
1059:Scale Mail [Sacred]
1060:Setzschild [1]
1061:Setzschild [2]
1062:Setzschild [3]
1063:Setzschild [4]
1064:Setzschild [Sacred]
1065:Skull Cap [1]
1066:Skull Cap [2]
1067:Skull Cap [3]
1068:Skull Cap [4]
1069:Skull Cap [Sacred]
1070:Small Shield [1]
1071:Small Shield [2]
1072:Small Shield [3]
1073:Small Shield [4]
1074:Small Shield [Sacred]
1075:Spangenhelm [1]
1076:Spangenhelm [2]
1077:Spangenhelm [3]
1078:Spangenhelm [4]
1079:Spangenhelm [Sacred]
1080:Spiked Shield [1]
1081:Spiked Shield [2]
1082:Spiked Shield [3]
1083:Spiked Shield [4]
1084:Spiked Shield [Sacred]
1085:Spirit Mask [1]
1086:Spirit Mask [2]
1087:Spirit Mask [3]
1088:Spirit Mask [4]
1089:Spirit Mask [Sacred]
1090:Splint Mail [1]
1091:Splint Mail [2]
1092:Splint Mail [3]
1093:Divine Guard
1094:Splint Mail [4]
1095:Splint Mail [Sacred]
1096:Studded Leather [1]
1097:Studded Leather [2]
1098:Studded Leather [3]
1099:Studded Leather [4]
1100:Studded Leather [Sacred]
1101:Targe [1]
1102:Targe [2]
1103:Targe [3]
1104:Targe [4]
1105:Targe [Sacred]
1106:Tiara [1]
1107:Tiara [2]
1108:Tiara [3]
1109:Tiara [4]
1110:Tiara [Sacred]
1111:Totem Shield [1]
1112:Warkeepers
1113:Winged Feet
1114:Totem Shield [2]
1115:Totem Shield [3]
1116:Mage's Plate
1117:Mana Belt
1118:Totem Shield [4]
1119:Totem Shield [Sacred]
1120:Tower Shield [1]
1121:Tower Shield [2]
1122:Tower Shield [3]
1123:Tower Shield [4]
1124:Tower Shield [Sacred]
1125:Unraveller Head [1]
1126:Unraveller Head [2]
1127:Unraveller Head [3]
1128:Unraveller Head [4]
1129:Unraveller Head [Sacred]
1130:Wolf Head [1]
1131:Wolf Head [2]
1132:Wolf Head [3]
1133:Wolf Head [4]
1134:Wolf Head [Sacred]
1135:Zombie Head [1]
1136:Zombie Head [2]
1137:Zombie Head [3]
1138:Zombie Head [4]
1139:Zombie Head [Sacred]
1140:Sorcerer's Mask
1141:Ornate Plate
1142:Cincture [Mastercrafted]
1143:Elixir
1144:FLYING POLAR BUFFALO ERROR [Red]
1145:FLYING POLAR BUFFALO ERROR [Blue]
1146:FLYING POLAR BUFFALO ERROR [Red, Big]
1147:FLYING POLAR BUFFALO ERROR [Blue, Big]
1148:Stamina Potion
1149:Antidote Potion
1150:Thawing Potion
1151:Heart
1152:Brain
1153:Jawbone
1154:Eye
1155:Horn
1156:Tail
1157:Flag
1158:Fang
1159:Quill
1160:Soul
1161:Scalp
1162:Spleen
1163:Torch
1164:The Black Tower Key
1165:Potion of Life
1166:Herb
1167:FLYING POLAR BUFFALO ERROR [Red, Quantity]
1168:FLYING POLAR BUFFALO ERROR [Red, Quantity, Big]
1169:FLYING POLAR BUFFALO ERROR [Blue, Quantity]
1170:FLYING POLAR BUFFALO ERROR [Blue, Quantity, Big]
1171:Scroll of Knowledge
1172:Belladonna Extract
1173:Scroll of Inifuss
1174:Key to the Cairn Stones
1175:A Jade Figurine
1176:The Golden Bird
1177:Lam Esen's Tome
1178:Horadric Scroll
1179:Mephisto's Soulstone
1180:Book of Skill
1181:Malah's Potion
1182: ??? [Nothing]
1183:Horadriv Cube
1184:Khalim's Eye
1185:Khalim's Heart
1186:Khalim's Brain
1187:Scroll of Resistance
1188:Amulet of the Viper
1189:Amulet
1190:Ring
1191:Jewel
1192:Relic
1193:Gold
1194:Cycle [Small] [Empty]
1195:Cycle [Large] [Empty]
1196:Cycle [Grand] [Empty]
1197:Tome of Town Portal
1198:Tome of Identify
1199:Scroll of Town Portal
1200:Scroll of Identify
1201:Arrow Quiver
1202:Bolt Quiver
1203:Key
1204:Minor Healing Potion
1205:Light Healing Potion
1206:Healing Potion
1207:Greater Healing Potion
1208:Super Healing Potion
1209:Minor Mana Potion
1210:Light Mana Potion
1211:Mana Potion
1212:Greater Mana Potion
1213:Super Mana Potion
1214:Rejuvenation Potion
1215:Full Rejuvenation Potion
1216:Apple
1217:Chipped Amethyst
1218:Flawed Amethyst
1219:Amethyst
1220:Flawless Amethyst
1221:Perfect Amethyst
1222:Chipped Topaz
1223:Flawed Topaz
1224:Topaz
1225:Flawless Topaz
1226:Perfect Topaz
1227:Chipped Sapphire
1228:Flawed Sapphire
1229:Sapphire
1230:Flawless Sapphire
1231:Perfect Sapphire
1232:Chipped Emerald
1233:Flawed Emerald
1234:Emerald
1235:Flawless Emerald
1236:Perfect Emerald
1237:Chipped Ruby
1238:Flawed Ruby
1239:Ruby
1240:Flawless Ruby
1241:Perfect Ruby
1242:Chipped Diamond
1243:Flawed Diamond
1244:Diamond
1245:Flawless Diamond
1246:Perfect Diamond
1247:Chipped Skull
1248:Flawed Skull
1249:Skull
1250:Flawless Skull
1251:Perfect Skull
1252:Chipped Onyx
1253:Flawed Onyx
1254:Onyx
1255:Flawless Onyx
1256:Perfect Onyx
1257:Chipped Bloodstone
1258:Flawed Bloodstone
1259:Bloodstone
1260:Flawless Bloodstone
1261:Perfect Bloodstone
1262:Chipped Turquoise
1263:Flawed Turquoise
1264:Turquoise
1265:Flawless Turquoise
1266:Perfect Turquoise
1267:Chipped Amber
1268:Flawed Amber
1269:Amber
1270:Flawless Amber
1271:Perfect Amber
1272:Chipped Rainbow Stone
1273:Flawed Rainbow Stone
1274:Rainbow Stone
1275:Flawless Rainbow Stone
1276:Perfect Rainbow Stone
1277:Ruby Cluster
1278:Emerald Cluster
1279:Sapphire Cluster
1280:Topaz Cluster
1281:Diamond Cluster
1282:Amethyst Cluster
1283:Skull Cluster
1284:Rainbow Stone Cluster
1285:Bloodstone Cluster
1286:Onyx Cluster
1287:Amber Cluster
1288:Turquoise Cluster
1289:El Rune
1290:Eld Rune
1291:Tir Rune
1292:Nef Rune
1293:Eth Rune
1294:Ith Rune
1295:Tal Rune
1296:Ral Rune
1297:Ort Rune
1298:Thul Rune
1299:Amn Rune
1300:Sol Rune
1301:Shael Rune
1302:Dol Rune
1303:Hel Rune
1304:Io Rune
1305:Lum Rune
1306:Ko Rune
1307:Fal Rune
1308:Lem Rune
1309:Pul Rune
1310:Um Rune
1311:Mal Rune
1312:Ist Rune
1313:Gul Rune
1314:Vex Rune
1315:Ohm Rune
1316:Lo Rune
1317:Sur Rune
1318:Ber Rune
1319:Jah Rune
1320:Cham Rune
1321:Zod Rune
1322:Ol Rune [Enchanted Rune 01]
1323:Elq Rune [Enchanted Rune 02]
1324:Tyr Rune [Enchanted Rune 03]
1325:Nif Rune [Enchanted Rune 04]
1326:Xeth Rune [Enchanted Rune 05
1327:Xith Rune [Enchanted Rune 06]
1328:Thal Rune [Enchanted Rune 07]
1329:Rhal Rune [Enchanted Rune 08]
1330:Urt Rune [Enchanted Rune 09]
1331:Tuul Rune [Enchanted Rune 10]
1332:Ahmn Rune [Enchanted Rune 11]
1333:Zol Rune [Enchanted Rune 12]
1334:Shaen Rune [Enchanted Rune 13]
1335:Doj Rune [Enchanted Rune 14]
1336:Hem Rune [Enchanted Rune 15]
1337:Iu Rune [Enchanted Rune 16]
1338:Lux Rune [Enchanted Rune 17]
1339:Ka Rune [Enchanted Rune 18]
1340:Fel Rune [Enchanted Rune 19]
1341:Lew Rune [Enchanted Rune 20]
1342:Phul Rune [Enchanted Rune 21]
1343:Un Rune [Enchanted Rune 22]
1344:Mhal Rune [Enchanted Rune 23]
1345:Yst Rune [Enchanted Rune 24]
1346:Gur Rune [Enchanted Rune 25]
1347:Vez Rune [Enchanted Rune 26]
1348:Ohn Rune [Enchanted Rune 27]
1349:Loz Rune [Enchanted Rune 28]
1350:Zur Rune [Enchanted Rune 29]
1351:Bur Rune [Enchanted Rune 30]
1352:Iah Rune [Enchanted Rune 31]
1353:Yham Rune [Enchanted Rune 32]
1354:Xod Rune [Enchanted Rune 33]
1355:El Container
1356:Eld Container
1357:Tir Container
1358:Nef Container
1359:Eth Container
1360:Ith Container
1361:Tal Container
1362:Ral Container
1363:Ort Container
1364:Thul Container
1365:Amn Container
1366:Sol Container
1367:Shael Container
1368:Dol Container
1369:Hel Container
1370:Io Container
1371:Lum Container
1372:Ko Container
1373:Fal Container
1374:Lem Container
1375:Pul Container
1376:Um Container
1377:Mal Container
1378:Ist Container
1379:Gul Container
1380:Vex Container
1381:Ohm Container
1382:Lo Container
1383:Sur Container
1384:Ber Container
1385:Jah Container
1386:Cham Container
1387:Zod Container
1388:Taha Rune [Great Rune]
1389:Ghal Rune [Great Rune]
1390:Qor Rune [Great Rune]
1391:Fire Rune [Elemental Rune]
1392:Stone Rune [Elemental Rune]
1393:Arcane Rune [Elemental Rune]
1394:Poison Rune [Elemental Rune]
1395:Light Rune [Elemental Rune]
1396:Ice Rune [Elemental Rune]
1397:Sha Rune
1398:Lah Rune
1399:Kur Rune
1400:Ix Rune
1401:Thur Rune
1402:Nas Rune
1403:Ath Rune
1404:Kra Rune
1405:Vith Rune
1406:No Rune
1407:Yul Rune
1408:Thai Rune
1409:Rha Rune
1410:Xar Rune
1411:Nih Rune
1412:Lai Rune
1413:On Rune
1414:Krys Rune [Great Rune]
1415:Auhe Rune [Great Rune]
1416:Sha Ad Rune [Great Rune]
1417:Xis Rune [Great Rune]
1418:Creepy Vessel
1419:Abandoned Vessel
1420:Quiet Vessel
1421:Eerie Vessel
1422:Weird Vessel
1423:Intimidating Vessel
1424:Tainted Vessel
1425:Fascinating Vessel
1426:Ornate Vessel
1427:Sacred Vessel
1428:Shimmering Vessel
1429:Spiritual Vessel
1430:Magical Vessel
1431:Enchanted Vessel
1432:Hidden Vessel
1433:Trinity Vessel
1434:Creepy Shrine [10]
1435:Creepy Shrine [9]
1436:Creepy Shrine [8]
1437:Creepy Shrine [7]
1438:Creepy Shrine [6]
1439:Creepy Shrine [5]
1440:Creepy Shrine [4]
1441:Creepy Shrine [3]
1442:Creepy Shrine [2]
1443:Creepy Shrine [1]
1444:Abandoned Shrine [10]
1445:Abandoned Shrine [9]
1446:Abandoned Shrine [8]
1447:Abandoned Shrine [7]
1448:Abandoned Shrine [6]
1449:Abandoned Shrine [5]
1450:Abandoned Shrine [4]
1451:Abandoned Shrine [3]
1452:Abandoned Shrine [2]
1453:Abandoned Shrine [1]
1454:Quiet Shrine [10]
1455:Quiet Shrine [9]
1456:Quiet Shrine [8]
1457:Quiet Shrine [7]
1458:Quiet Shrine [6]
1459:Quiet Shrine [5]
1460:Quiet Shrine [4]
1461:Quiet Shrine [3]
1462:Quiet Shrine [2]
1463:Quiet Shrine [1]
1464:Eerie Shrine [10]
1465:Eerie Shrine [9]
1466:Eerie Shrine [8]
1467:Eerie Shrine [7]
1468:Eerie Shrine [6]
1469:Eerie Shrine [5]
1470:Eerie Shrine [4]
1471:Eerie Shrine [3]
1472:Eerie Shrine [2]
1473:Eerie Shrine [1]
1474:Weird Shrine [10]
1475:Weird Shrine [9]
1476:Weird Shrine [8]
1477:Weird Shrine [7]
1478:Weird Shrine [6]
1479:Weird Shrine [5]
1480:Weird Shrine [4]
1481:Weird Shrine [3]
1482:Weird Shrine [2]
1483:Weird Shrine [1]
1484:Tainted Shrine [10]
1485:Tainted Shrine [9]
1486:Tainted Shrine [8]
1487:Tainted Shrine [7]
1488:Tainted Shrine [6]
1489:Tainted Shrine [5]
1490:Tainted Shrine [4]
1491:Tainted Shrine [3]
1492:Tainted Shrine [2]
1493:Tainted Shrine [1]
1494:Intimidating Shrine [10]
1495:Intimidating Shrine [9]
1496:Intimidating Shrine [8]
1497:Intimidating Shrine [7]
1498:Intimidating Shrine [6]
1499:Intimidating Shrine [5]
1500:Intimidating Shrine [4]
1501:Intimidating Shrine [3]
1502:Intimidating Shrine [2]
1503:Intimidating Shrine [1]
1504:Trinity Shrine [10]
1505:Trinity Shrine [9]
1506:Trinity Shrine [8]
1507:Trinity Shrine [7]
1508:Trinity Shrine [6]
1509:Trinity Shrine [5]
1510:Trinity Shrine [4]
1511:Trinity Shrine [3]
1512:Trinity Shrine [2]
1513:Trinity Shrine [1]
1514:Fascinating Shrine [10]
1515:Fascinating Shrine [9]
1516:Fascinating Shrine [8]
1517:Fascinating Shrine [7]
1518:Fascinating Shrine [6]
1519:Fascinating Shrine [5]
1520:Fascinating Shrine [4]
1521:Fascinating Shrine [3]
1522:Fascinating Shrine [2]
1523:Fascinating Shrine [1]
1524:Ornate Shrine [10]
1525:Ornate Shrine [9]
1526:Ornate Shrine [8]
1527:Ornate Shrine [7]
1528:Ornate Shrine [6]
1529:Ornate Shrine [5]
1530:Ornate Shrine [4]
1531:Ornate Shrine [3]
1532:Ornate Shrine [2]
1533:Ornate Shrine [1]
1534:Sacred Shrine [10]
1535:Sacred Shrine [9]
1536:Sacred Shrine [8]
1537:Sacred Shrine [7]
1538:Sacred Shrine [6]
1539:Sacred Shrine [5]
1540:Sacred Shrine [4]
1541:Sacred Shrine [3]
1542:Sacred Shrine [2]
1543:Sacred Shrine [1]
1544:Shimmering Shrine [10]
1545:Shimmering Shrine [9]
1546:Shimmering Shrine [8]
1547:Shimmering Shrine [7]
1548:Shimmering Shrine [6]
1549:Shimmering Shrine [5]
1550:Shimmering Shrine [4]
1551:Shimmering Shrine [3]
1552:Shimmering Shrine [2]
1553:Shimmering Shrine [1]
1554:Spiritual Shrine [10]
1555:Spiritual Shrine [9]
1556:Spiritual Shrine [8]
1557:Spiritual Shrine [7]
1558:Spiritual Shrine [6]
1559:Spiritual Shrine [5]
1560:Spiritual Shrine [4]
1561:Spiritual Shrine [3]
1562:Spiritual Shrine [2]
1563:Spiritual Shrine [1]
1564:Magical Shrine [10]
1565:Magical Shrine [9]
1566:Magical Shrine [8]
1567:Magical Shrine [7]
1568:Magical Shrine [6]
1569:Magical Shrine [5]
1570:Magical Shrine [4]
1571:Magical Shrine [3]
1572:Magical Shrine [2]
1573:Magical Shrine [1]
1574:Enchanted Shrine [10]
1575:Enchanted Shrine [9]
1576:Enchanted Shrine [8]
1577:Enchanted Shrine [7]
1578:Enchanted Shrine [6]
1579:Enchanted Shrine [5]
1580:Enchanted Shrine [4]
1581:Enchanted Shrine [3]
1582:Enchanted Shrine [2]
1583:Enchanted Shrine [1]
1584:Hidden Shrine [10]
1585:Hidden Shrine [9]
1586:Hidden Shrine [8]
1587:Hidden Shrine [7]
1588:Hidden Shrine [6]
1589:Hidden Shrine [5]
1590:Hidden Shrine [4]
1591:Hidden Shrine [3]
1592:Hidden Shrine [2]
1593:Hidden Shrine [1]
1594:Mystic Orb [Armor] [Elemental Resists +3%]
1595:Mystic Orb [Armor] [Spell Focus +6]
1596:Mystic Orb [Armor] [Energy +5]
1597:Mystic Orb [Armor] [Gold Find +5%]
1598:Mystic Orb [Weapon] [Weapon Physical Damage +12%]
1599:Mystic Orb [Weapon] [Bonus to Attack Rating +50%]
1600:Mystic Orb [Weapon] [Innate Elemental Damage +2%]
1601:Mystic Orb [Weapon] [Life after each Kill +10]
1602:Mystic Orb [Weapon] [Experience Gained +1%]
1603:Mystic Orb [Any Equipable] [Physical/Magical Spell Damage +2%]
1604:Mystic Orb [Any Equipable] [Magic Find +3%]
1605:Mystic Orb [Any Equipable] [Summoned Minion Resistances +2%]
1606:Mystic Orb [Ring, Amulet, Quiver] [Poison Length Reduced by +4%]
1607:Mystic Orb [Ring, Amulet, Quiver] [Life +20]
1608:Mystic Orb [Ring, Amulet, Quiver] [Regenerate Mana +5%]
1609:Mystic Orb [Armor] [Life Regenerated per Second +15]
1610:Mystic Orb [Armor] [Maximum Damage +2]
1611:Mystic Orb [Armor] [Vitality +5]
1612:Mystic Orb [Armor] [Curse Length Reduction +4%]
1613:Mystic Orb [Weapon] [Maximum Damage +6]
1614:Mystic Orb [Weapon] [Deadly Strike +1%]
1615:Mystic Orb [Weapon] [Cast Speed +6%]
1616:Mystic Orb [Weapon] [Life on Melee Attack +25]
1617:Mystic Orb [Weapon] [Mana on Melee Attack +20]
1618:Mystic Orb [Any Equipable] [Lightning Spell Damage +2%]
1619:Mystic Orb [Any Equipable] [Poison Spell Damage +2%]
1620:Mystic Orb [Any Equipable] [Summoned Minion Damage +2%]
1621:Mystic Orb [Ring, Amulet, Quiver] [Lightning Resist +7%]
1622:Mystic Orb [Ring, Amulet, Quiver] [Poison Resist +7%]
1623:Mystic Orb [Ring, Amulet, Quiver] [Physical Damage Reduced by 4]
1624:Mystic Orb [Armor] [Bonus to Defense +4%]
1625:Mystic Orb [Armor] [Block Speed +6%]
1626:Mystic Orb [Armor] [Dexterity +5]
1627:Mystic Orb [Armor] [Requirements -4%]
1628:Mystic Orb [Weapon] [Enhanced Damage +15%]
1629:Mystic Orb [Weapon] [Chance of Crushing Blow +3%]
1630:Mystic Orb [Weapon] [Attack Speed +6%]
1631:Mystic Orb [Weapon] [Life Stolen per Hit +3%]
1632:Mystic Orb [Weapon] [Mana Stolen per Hit +5%]
1633:Mystic Orb [Any Equipable] [Fire Spell Damage +2%]
1634:Mystic Orb [Any Equipable] [Cold Spell Damage +2%]
1635:Mystic Orb [Any Equipable] [Summoned Minion Life +4%]
1636:Mystic Orb [Ring, Amulet, Quiver] [Fire Resist +7%]
1637:Mystic Orb [Ring, Amulet, Quiver] [Cold Resist +7%]
1638:Mystic Orb [Ring, Amulet, Quiver] [Defense +100]
1639:Mystic Orb [Armor] [Enhanced Defense +15%]
1640:Mystic Orb [Armor] [Hit Recovery +6%]
1641:Mystic Orb [Armor] [Strength +5]
1642:Mystic Orb [Ring, Amulet, Quiver] [Kara's Trinket]
1643:Mystic Orb [Ring, Amulet, Quiver] [Monsterball]
1644:Mystic Orb [Ring, Amulet, Quiver] [Heart of Frost]
1645:Mystic Orb [Ring, Amulet, Quiver] [Hand of Yaerius]
1646:Mystic Orb [Ring, Amulet, Quiver] [The Endless Light]
1647:Mystic Orb [Any Equipable] [Marksman's Eye]
1648:Mystic Orb [Ring, Amulet, Quiver] [Farnham's Lost Marble]
1649:Mystic Orb [Armor] [Zayl's Soul Orb]
1650:Mystic Orb [Ring, Amulet, Quiver] [Eye of Malic]
1651:Mystic Orb [Any Equipable] [Apple of Discord]
1652:Mystic Orb [Armor] [Idol of Stars]
1653:Mystic Orb [Armor] [Nagapearl]
1654:Mystic Orb [Armor] [The Moon Crystal]
1655:Mystic Orb [Armor] [Auriel's Focus]
1656:Mystic Orb [Helm] [Solitude]
1657:Mystic Orb [Weapon] [Larzuk's Round Shot]
1658:Mystic Orb [Weapon] [Viziun's Ball Bearing]
1659:Mystic Orb [Weapon] [Noor Tirai's Flaming Sphere]
1660:Mystic Orb [Weapon] [The Demon Core]
1661:Mystic Orb [Weapon] [Uldyssian's Spirit]
1662:Mystic Orb [Weapon] [Orb of Annihilation]
1663:Mystic Orb [Weapon] [Warbringer]
1664:Mystic Orb [Weapon] [The Pin Striker]
1665:Mystic Orb [Weapon] [Wraithspirit]
1666:Mystic Orb [Armor] [Crystal of Tears]
1667:Mystic Orb [Armor] [Essence of Itherael]
1668:Mystic Orb [Armor] [Periapt of Life]
1669:Mystic Orb [Armor] [Lodestone]
1670:Mystic Orb [Ring, Amulet, Quiver] [Explorer's Globe]
1671:Mystic Orb [Weapon] [Eye of the Storm]
1672:Mystic Orb [Armor] [Invisible]
1673:Signet of Gold
1674:Signet of Experience
1675:Signet of Learning
1676:Custom Signet of Learning [2]
1677:Custom Signet of Learning [3]
1678:Custom Signet of Learning [4]
1679:Custom Signet of Learning [5]
1680:Custom Signet of Learning [6]
1681:Custom Signet of Learning [7]
1682:Custom Signet of Learning [8]
1683:Custom Signet of Learning [9]
1684:Custom Signet of Learning [10]
1685:Custom Signet of Learning [11]
1686:Custom Signet of Learning [12]
1687:Custom Signet of Learning [13]
1688:Custom Signet of Learning [14]
1689:Custom Signet of Learning [15]
1690:Custom Signet of Learning [16]
1691:Custom Signet of Learning [17]
1692:Custom Signet of Learning [18]
1693:Custom Signet of Learning [19]
1694:Custom Signet of Learning [20]
1695:Custom Signet of Learning [21]
1696:Custom Signet of Learning [22]
1697:Custom Signet of Learning [23]
1698:Custom Signet of Learning [24]
1699:Greater Signet of Learning
1700:Signet of Gold
1701:Large Signet of Experience
1702:Greater Signet of Gold
1703:Greater Signet of Experience
1704:Signet of Skill
1705:Sacrificial Heart
1706:Meditation Candle [Cube Reagent]
1707:Arcane Shards [1] [Cube Reagent]
1708:Arcane Shards [2] [Cube Reagent]
1709:Arcane Shards [3] [Cube Reagent]
1710:Arcane Shards [4] [Cube Reagent]
1711:Arcane Crystal [Cube Reagent]
1712:Arcane Cluster
1713:Catalyst of Learning
1714:Catalyst of Disenchantment
1715:Catalyst of Jewelcraft
1716:Scroll of Athulua [Level Challenge I]
1717:Scroll of Zarakum [Level Challenge II]
1718:Scroll of Kurast [Ennead Challenge]
1719:Scroll of Fear [Black Road Challenge]
1720:Scroll of Greed [Black Road Challenge]
1721:Scroll of Contrition [Black Road Challenge]
1722:Scroll of Knowledge [Black Road Challenge]
1723:Scroll of Blood [Black Road Challenge]
1724:Scroll of Completion [Black Road Challenge]
1725:Scroll of Witches [Minigame]
1726:Scroll of Mirrors [Minigame]
1727:Oil of Luck [Cube Reagent]
1728:Oil of Disjunction [Cube Reagent]
1729:Oil of Enhancement [Cube Reagent]
1730:Oil of Renewal [Cube Reagent]
1731:Oil of Craft [Cube Reagent]
1732:FLYING POLAR BUFFALO ERROR [Grey]
1733:Oil of Conjuration [Cube Reagent]
1734:Oil of Greater Luck [Cube Reagent]
1735:Oil of Augmentation [Cube Reagent]
1736:Oil of Intensity [Cube Reagent]
1737:Goodberry
1738:Moon Symbol
1739:Elixir of Experience [Disabled]
1740:Elixir of Greed [Disabled]
1741:Elixir of Wealth [Disabled]
1742:Elixir of Adrenaline [Disabled]
1743:Elixir of Concentratioin [Disabled]
1744:Elixir of Power [Disabled]
1745:Elixir of Love [Disabled]
1746:Elixir of Greater Experience [Disabled]
1747:Elixir of Greater Greed [Disabled]
1748:Elixir of Greater Wealth [Disabled]
1749:Mystic Dye [White]
1750:Mystic Dye [Light Grey]
1751:Mystic Dye [Dark Grey]
1752:Mystic Dye [Black]
1753:Mystic Dye [Light Blue]
1754:Mystic Dye [Dark Blue]
1755:Mystic Dye [Crystal Blue]
1756:Mystic Dye [Light Red]
1757:Mystic Dye [Dark Red]
1758:Mystic Dye [Crystal Red]
1759:Mystic Dye [Light Green]
1760:Mystic Dye [Dark Green]
1761:Mystic Dye [[Crystal Green]
1762:Mystic Dye [Light Yellow]
1763:Mystic Dye [Dark Yellow]
1764:Mystic Dye [Light Gold]
1765:Mystic Dye [Dark Gold]
1766:Mystic Dye [Light Purple]
1767:Mystic Dye [Dark Purple]
1768:Mystic Dye [Orange]
1769:Mystic Dye [Bright White]
1770:Mystic Dye [FLYING BUFFALO ERROR]
1771:Optical Detector (Use Drop Rarity)
1772:Azmodan's Heart (Use Drop Rarity)
1773:Visions of Akarat (Use Drop Rarity)
1774:Scroll of Kings (Use Drop Rarity)
1775:Laser Focus Crystal (Use Drop Rarity)
1776:The Butcher's Tooth (Use Drop Rarity)
1777:Sacred Worldstone Key (Use Drop Rarity)
1778:Idol of Vanity (Use Drop Rarity)
1779:Spirit of Damnation [Cube Reagent]
1780:Horazon's Focus (Use Drop Rarity)
1781:Sunless Crystal Bird [Cube Reagent]
1782:Six Angel Bag
1783:Zakarum's Ear (Use Drop Rarity)
1784:Spirit Trance Herb (Use Drop Rarity)
1785:Moon of the Spider (Use Drop Rarity)
1786:Eternal Bone Pile (Use Drop Rarity)
1787:Shard of Fire
1788:Shard of Ice
1789:Shard of Thunder
1790:Sunstone of the Gods (Use Drop Rarity)
1791:Sunstone of Fire
1792:Sunstone of Ice
1793:Sunstone of Thunder
1794:Legacy of Blood (Use Drop Rarity)
1795:Hammer of the Taan Judges (Use Drop Rarity)
1796:Sacred Sunstone [Amazon] (Use Drop Rarity)
1797:Shadow Vortex [Assassin] (Use Drop Rarity)
1798:Worldstone Orb [Barbarian] (Use Drop Rarity)
1799:Caoi Dulra Fruit [Druid] (Use Drop Rarity)
1800:Soulstone Shard [Necromancer] (Use Drop Rarity)
1801:Eye of Divinity [Paladin] (Use Drop Rarity)
1802:Nexus Crystal [Sorceress] (Use Drop Rarity)
1803:Crystalline Flame Medallion (Use Drop Rarity)
1804:Fool's Gold (Use Drop Rarity)
1805:Silver Seal of Ureh (Use Drop Rarity)
1806:Astrogha's Venom Stinger (Use Drop Rarity)
1807:The Book of Lies (Use Drop Rarity)
1808:Demonsbane (Use Drop Rarity)
1809:Cold Fusion Schematics (Use Drop Rarity)
1810:The Glorious Book of Median (Use Drop Rarity)
1811:I Am Rich (Use Drop Rarity)
1812:Soul of Kabraxis (Use Drop Rarity)
1813:Sunstone of the Twin Seas (Use Drop Rarity)
1814:Neutrality Pact (Use Drop Rarity)
1815:Umbaru Treasure (Use Drop Rarity)
1816:The Sleep (Use Drop Rarity)
1817:The Ancient Repositories (Use Drop Rarity)
1818:Xazax's Illusion (Use Drop Rarity)
1819:Corrupted Wormhole (Use Drop Rarity)
1820:Tome of Posession [Quest Item]
1821:Books of Kalan (Use Drop Rarity)
1822:The Goblin King [Event Award] (Use Drop Rarity)
1823:The Last Man Standin [Event Award] (Use Drop Rarity)
1824:Lord of Lies Trophy [Book of Lies]
1825:Legacy of Blood Trophy [Legacy of Blood]
1826:Judgement Day Trophy [Crystalline Flame Medallion]
1827:Yshari Sanctum Trophy [Ancient Repositories]
1828:Kingdom of Shadow Trophy [Eternal Bone Pile]
1829:Duncraig Trophy [Demonsbane]
1830:Xazax Trophy [Xazax's Illusion]
1831:The Veiled Prophet Trophy [Idol of Vanity]
1832:Tran Athulua Trophy [Sunstone of the Gods]
1833:Quov Tsin Trophy [Seal of Ureh]
1834:Astrogha Trophy [Astrogha's Venom Stinger]
1835:Heart of Sin Trophy [Azmodan's Heart]
1836:Viz-iun Trophy [Cold Fusion Schematics]
1837:Archbishop Lazarus Trophy [Gloriious Book of Median]
1838:The Triune Trophy [Corrupted Wormhole]
1839:Nephalem's Sacrifice Trophy [Neutrality Pact]
1840:Banisher of Light Trophy [Soul of Kabraxis]
1841:Ghosts of Old Bremmtown Trophy [Upgraded Dragon Claw]
1842:The Void Trophy [Books of Kalan]
1843:Eve of Destruction Trophy [Spirit of Creation]
1844:Lord of Lies Fragment
1845:Legacy of Blood Fragment
1846:Judgement Day Fragment
1847:Yshari Sanctum Fragment
1848:Kingdom of Shadow Fragment
1849:Duncraig Fragment
1850:Xazax Fragment
1851:The Veiled Prophet Fragment
1852:Tran Athulua Fragment
1853:Quov Tsin Fragment
1854:Astrogha Fragment
1855:Heart of Sin Fragment
1856:Viz-iun Fragment
1857:Archbishop Lazarus Fragment
1858:The Triune Fragment
1859:Nephalem's Sacrifice Fragment
1860:Banisher of Light Fragment
1861:Ghosts of Old Bremmtown Fragment
1862:The Void Fragment
1863:Eve of Destruction Fragment
1864:Diety's Bow [Cube Reagent]
1865:Skinrender's Sigil [Quest Item]
1866:Spinecracker's Sigil [Quest Item]
1867:Eyegouger's Sigil [Quest Item]
1868:Fleshcutter's Sigil [Quest Item]
1869:Bonehexer's Sigil [Quest Item]
1870:Ring of the Five [Quest Item]
1871:Assur's Bane (Use Drop Rarity)
1872:Alpha Brain
1873:Beta Brain
1874:Gamma Brain
1875:Delta Brain
1876:Epsilon Brain
1877:Great Rainbow Stone [The Black Road]
1878:Great Skull [The Black Road]
1879:Great Topaz [The Black Road]
1880:Great Sapphire [The Black Road]
1881:Great Ruby [The Black Road]
1882:Vial of Elder Blood (Use Drop Rarity)
1883:Amulet [Empty]
1884:Pulsating Worldstone Shard ["As you"]
1885:Pulsating Worldstone Shard ["A Sanctuary"]
1886:Pulsating Worldstone Shard ["The Stone"]
1887:Pulsating Worldstone Shard ["There are"]
1888:Pulsating Worldstone Shard ["The destruction"]
1889:Pulsating Worldstone Shard ["It which"]
1890:Pulsating Worldstone Crystal
1891:Seal of Darkness [Demonsbane]
1892:Scroll of Greed
1893:Scroll of Sloth
1894:Scroll of Envy
1895:Scroll of Wrath
1896:Scroll of Gluttony
1897:Scroll of Lust
1898:Ring of Pride [Empty]
1899:Sigil of Deadly Sins [Empty] (Unique - Ring of Virtue)
1900:Enchanting Crystal [Cube Reagent]
1901:Runestone [Primal Rune]
1902:Earth Essence [Primal Rune]
1903:Magic Essence [Primal Rune]
1904:Venomous Essence [Primal Rune]
1905:Lightning Essence [Primal Rune]
1906:Icy Essence [Primal Rune]
1907:Fiery Essence [Primal Rune]
1908:Book of Cain [Glorious Book of Median]
1909:Ancient Book [Cube Reagent]
1910:Arcane Seal (Use Drop Rarity)
1911:Necklace (Use Drop Rarity)
1912:Ghost Trance [Umbaru Treasure]
1913:Dark Tome [Class Charm]
1914:Evil Eye of the Clawstorm [Class Charm]
1915:Evil Eye of the Landmass [Class Charm]
1916:Evil Eye of the Glowing Blob [Class Charm]
1917:Evil Eye of the Fairy Witch [Class Charm]
1918:Evil Eye of the Bane Hunter [Class Charm]
1919:Emblem of Suffering [Cube Reagent]
1920:Emblem of Pain [Cube Reagent]
1921:Emblem of Hatred [Cube Reagent]
1922:Emblem of Terror [Cube Reagent]
1923:Emblem of Destruction [Cube Reagent]
1924:Emblem of Lies [Cube Reagent]
1925:Griswold's Treasure [Cube Reagent]
1926:Mask of Infusion [Cube Reagent]
1927:Wings of the Departed
1928:Cherry
1929:Dimensional Link [Quest Item]
1930:Key of Lies [Quest Item]
1931:Key of Sin [Quest Item]
1932:Mind Warp [Quest Item]
1933:Gaya Wand
1934:Angel Bag [Cube Reagent]
1935:FLYING POLAR BUFFALO ERROR [Ricardo Milos]
1936:Heroic Torch
1937:The Black Road (Use Drop Rarity)
1938:Home Cherry
1939:Lylia's Curse (Use Drop Rarity)
1940:Dragon Claw (Use Drop Rarity)
1941:Askari Call [Quest Item]
1942:Weather Control (Use Drop Rarity)
1943:Spirit of Creation (Use Drop Rarity)
1944:Small Cycle [Corrupted Wormhole] [Strength]
1945:Small Cycle [Corrupted Wormhole] [Dexterity]
1946:Small Cycle [Corrupted Wormhole] [Vitality]
1947:Small Cycle [Corrupted Wormhole] [Energy]
1948:Medium Cycle [Corrupted Wormhole] [Strength]
1949:Medium Cycle [Corrupted Wormhole] [Dexterity]
1950:Medium Cycle [Corrupted Wormhole] [Vitality]
1951:Medium Cycle [Corrupted Wormhole] [Energy]
1952:Large Cycle [Corrupted Wormhole] [Strength]
1953:Large Cycle [Corrupted Wormhole] [Dexterity]
1954:Large Cycle [Corrupted Wormhole] [Vitality]
1955:Large Cycle [Corrupted Wormhole] [Energy]
1956:Small Cycle [Corrupted Wormhole] [Gold Find]
1957:
1958:
1959:Small Cycle [Corrupted Wormhole] [Magic Find]
1960:
1961:
1962:Small Cycle [Corrupted Wormhole] [Combat Speeds]
1963:
1964:
1965:Large Cycle [Corrupted Wormhole] [Amazon Skill Levels]
1966:Large Cycle [Corrupted Wormhole] [Assassin Skill Levels]
1967:Large Cycle [Corrupted Wormhole] [Barbarian Skill Levels]
1968:Large Cycle [Corrupted Wormhole] [Druid Skill Levels]
1969:Large Cycle [Corrupted Wormhole] [Necromancer Skill Levels]
1970:Large Cycle [Corrupted Wormhole] [Sorceress Skill Levels]
1971:Large Cycle [Corrupted Wormhole] [Paladin Skill Levels]
1972:Small Cycle [Corrupted Wormhole] [Life, Mana]
1973:
1974:
1975:Golden Cycle [Corrupted Wormhole]
1976:Depleted Riftstone [1] [Cube] [Quest Item]
1977:Depleted Riftstone [2] [Cube] [Quest Item]
1978:Depleted Riftstone [3] [Cube] [Quest Item]
1979:Depleted Riftstone [4] [Cube] [Quest Item]
1980:Depleted Riftstone [5] [Cube] [Quest Item]
1981:Depleted Riftstone [1] [Arcane Crystal] [Quest Item]
1982:Depleted Riftstone [2] [Arcane Crystal] [Quest Item]
1983:Depleted Riftstone [3] [Arcane Crystal] [Quest Item]
1984:Depleted Riftstone [4] [Arcane Crystal] [Quest Item]
1985:Depleted Riftstone [5] [Arcane Crystal] [Quest Item]
1986:
1987:
1988:
1989:
1990:
1991:Charged Riftstone [1] [T1] [Quest Item]
1992:
1993:
1994:
1995:
1996:Charged Riftstone [1] [T2] [Quest Item]
1997:
1998:
1999:
2000:
2001:
2002:
2003:
2004:
2005:
2006:Charged Riftstone [1] [T3] [Quest Item]
2007:
2008:
2009:
2010:
2011:
2012:
2013:
2014:
2015:
2016:
2017:
2018:
2019:
2020:
2021:Dimensional Key (Use Drop Rarity)
2022:Dream Fragment [1] [Quest Item]
2023:
2024:
2025:
2026:
2027:Star Chart [1]
2028:
2029:
2030:
2031:
2032:Occult Effigy [Celestial Wind]
2033:Occult Effigy [Sigil of Absolution]
2034:Occult Effigy [Path of Brutality]
2035:Occult Effigy [Empyrean Touch]
2036:
2037:
2038:
2039:
2040:
2041:
2042:
2043:
2044:
2045:
2046:
2047:
2048:
2049:
2050:
2051:
2052:
2053:
2054:
2055:
2056:
2057:
2058:
2059:
2060:
2061:
2062:
2063:
2064:
2065:
2066:
2067:
2068:
2069:
2070:
2071:
2072:
2073:
2074:
2075:
2076:
2077:
2078:
2079:
2080:
2081:
2082:
2083:
2084:
2085:
2086:
2087:
2088:
2089:
2090:
2091:
2092:
2093:
2094:
2095:
2096:
2097:
2098:
2099:
2100:
2101:
2102:
2103:
2104:
2105:
2106:
2107:
2108:
2109:
2110:
2111:
2112:
2113:
2114:
2115:
2116:
2117:
2118:
2119:
2120:
2121:
2122:
2123:
2124:
2125:
2126:
2127:
2128:
2129:
2130:
2131:
2132:
2133:
2134:
2135:
2136:
2137:
2138:
2139:
2140:
2141:
2142:
2143:
2144:
2145:
2146:
2147:
2148:
2149:
2150:
2151:
2152:
2153:
2154:
2155:
2156:
2157:
2158:
2159:
2160:
2161:
2162:
2163:
2164:
2165:
2166:
2167:
2168:
2169:
2170:
2171:
2172:
2173:
2174:
2175:
2176:
2177:
2178:
2179:
2180:
2181:
2182:
2183:
2184:
2185:
2186:
2187:
2188:
2189:
2190:
2191:
2192:
2193:
2194:
2195:
2196:
2197:
2198:
2199:
2200:
2201:
2202:
2203:
2204:
2205:
2206:
2207:
2208:
2209:
2210:
2211:
2212:
2213:
2214:
2215:
2216:
2217:
2218:
2219:
2220:
2221:
2222:
2223:
2224:
2225:
2226:
2227:
2228:
2229:
2230:
2231:
2232:
2233:
2234:
2235:
2236:
2237:
2238:
2239:
2240:
2241:
2242:
2243:
2244:
2245:
2246:
2247:
2248:
2249:
2250:
2251:
2252:
2253:
2254:
2255:
2256:
2257:
2258:
2259:
2260:
2261:
2262:
2263:
2264:
2265:
2266:
2267:
2268:
2269:
2270:
2271:
2272:
2273:
2274:
2275:
2276:
2277:
2278:
2279:
2280:
2281:
2282:
2283:
2284:
2285:
2286:
2287:
2288:
2289:
2290:
2291:
2292:
2293:
2294:
2295:
2296:
2297:
2298:
2299:
2300:
2301:
2302:
2303:
2304:
2305:
2306:
2307:
2308:
2309:
2310:
2311:
2312:
2313:
2314:
2315:
2316:
2317:
2318:
2319:
2320:
2321:
2322:
2323:
2324:
2325:
2326:
2327:
2328:
2329:
2330:
2331:
2332:
2333:
2334:
2335:
2336:
2337:
2338:
2339:
2340:
2341:
2342:
2343:
2344:
2345:
2346:
2347:
2348:
2349:
2350:
2351:
2352:
2353:
2354:
2355:
2356:
2357:
2358:
2359:
2360:
2361:
2362:
2363:
2364:
2365:
2366:
2367:
2368:
2369:
2370:
2371:
2372:
2373:
2374:
2375:
2376:
2377:
2378:
2379:
2380:
2381:
2382:
2383:
2384:
2385:
2386:
2387:
2388:
2389:
2390:
2391:
2392:
2393:
2394:
2395:
2396:
2397:
2398:
2399:
2400:
2401:
2402:
2403:
2404:
2405:
2406:
2407:
2408:
2409:
2410:
2411:
2412:
2413:
2414:
2415:
2416:
2417:
2418:
2419:
2420:
2421:
2422:
2423:
2424:
2425:
2426:
2427:
2428:
2429:
2430:
2431:
2432:
2433:
2434:
2435:
2436:
2437:
2438:
2439:
2440:
2441:
2442:
2443:
2444:
2445:
2446:
2447:
2448:
2449:
2450:
2451:
2452:
2453:
2454:
2455:
2456:
2457:
2458:
2459:
2460:
2461:
2462:
2463:
2464:
2465:
2466:
2467:
2468:
2469:
2470:
2471:
2472:
2473:
2474:
2475:
2476:
2477:
2478:
2479:
2480:
2481:
2482:
2483:
2484:
2485:
2486:
2487:
2488:
2489:
2490:
2491:
2492:
2493:
2494:
2495:
2496:
2497:
2498:
2499:
2500:
</DropDownList>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>008000</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>itemid</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>134869</ID>
                  <Description>"PD2"</Description>
                  <DropDownList>1:Axe
2:Double axe
3:Pick
4:War axe
5:Large axe
6:Broad axe
7:Battle axe
8:Great axe
9:Giant axe
10:Wand
11:Yew wand
12:Bone wand
13:Grim wand
14:Club
15:Scepter
16:Grand scepter
17:War scepter
18:Spiked club
19:Mace
20:Morning Star
21:Flail
22:War Hammer
23:Maul
24:Great Maul
25:Short Sword
26:Scimitar
27:Sabre
28:Falchion
29:Crystal Sword
30:Broad Sword
31:Long Sword
32:War Sword
33:Two-Handed Sword
34:Claymore
35:Giant Sword
36:Bastard Sword
37:Flamberge
38:Great Sword
39:Dagger
40:Dirk
41:Kris
42:Blade
43:Throwing Knife
44:Throwing Axe
45:Balanced Knife
46:Balanced Axe
47:Javelin
48:Pilum
49:Short Spear
50:Glaive
51:Throwing Spear
52:Spear
53:Trident
54:Brandistock
55:Spetum
56:Pike
57:Bardiche
58:Voulge
59:Scythe
60:Poleaxe
61:Halberd
62:War Scythe
63:Short Staff
64:Long Staff
65:Gnarled Staff
66:Battle Staff
67:War Staff
68:Short Bow
69:Hunter's Bow
70:Long Bow
71:Composite Bow
72:Short Battle Bow
73:Long Battle Bow
74:Short War Bow
75:Long War Bow
76:Light Crossbow
77:Crossbow
78:Heavy Crossbow
79:Repeating Crossbow
80:Rancid Gas Potion
81:Oil Potion
82:Choking Gas Potion
83:Exploding Potion
84:Strangling Gas Potion
85:Fulminating Potion
86:Decoy Gidbinn
87:THE Gidbinn
88:Wirt's Leg
89:Malus
90:Hell's Forge Hammer
91:Horadric Staff
92:Shaft of the Horadric Staff
93:Hatchet
94:Cleaver
95:Twin Axe
96:Crowbill
97:Naga
98:Military Axe
99:Bearded Axe
100:Tabar
101:Gothic Axe
102:Ancient Axe
103:Burnt Wand
104:Petrified Wand
105:Tomb Wand
106:Grave Wand
107:Cudgel
108:Rune Scepter
109:Holy Water Sprinkler
110:Divine Scepter
111:Barbed Club
112:Flanged Mace
113:Jagged Star
114:Knout
115:Battle Hammer
116:War Club
117:Martel De Fer
118:Gladius
119:Cutlass
120:Shamshir
121:Tulwar
122:Dimensional Blade
123:Battle Sword
124:Rune Sword
125:Ancient Sword
126:Espandon
127:Dacion Falx
128:Tusk Sword
129:Gothic Sword
130:Zweihander
131:Executioner Sword
132:Poignard
133:Rondel
134:Cinquedeas
135:Stiletto
136:Battle Dart
137:Francisca
138:War Dart
139:Hurlbat
140:War Javelin
</DropDownList>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>itemid</Address>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>134739</ID>
          <Description>"Deprecated / WIP"</Description>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>134651</ID>
              <Description>"Ent List WIP"</Description>
              <ShowAsHex>1</ShowAsHex>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>Game.exe+3986C8</Address>
              <Offsets>
                <Offset>2C</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>134683</ID>
              <Description>"Writable Inventory (top left item) (deprecated)"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>"Game.exe"+003B49E0</Address>
              <Offsets>
                <Offset>0</Offset>
                <Offset>0</Offset>
                <Offset>2C</Offset>
                <Offset>54</Offset>
                <Offset>34</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>134671</ID>
              <Description>"DISPLAY Inventory (top left item)"</Description>
              <DropDownList>1:Axe
2:Double axe
3:Pick
4:War axe
5:Large axe
6:Broad axe
7:Battle axe
8:Great axe
9:Giant axe
10:Wand
11:Yew wand
12:Bone wand
13:Grim wand
14:Club
15:Scepter
16:Grand scepter
17:War scepter
18:Spiked club
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>"Game.exe"+0039DEFC</Address>
              <Offsets>
                <Offset>4</Offset>
                <Offset>0</Offset>
                <Offset>2C</Offset>
                <Offset>14</Offset>
                <Offset>60</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>134642</ID>
              <Description>"WIP change names?"</Description>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : Game.exe
  Version: 
  Date   : 2022-08-20
  Author : scarl

  This script does blah blah blah
}

[ENABLE]


aobscanmodule(MonsterTest,Game.exe,55 8B EC 83 E4 F8 B8 24) // should be unique
alloc(newmem,$1000)

label(code)
label(return)
label(monsterName)
registersymbol(monsterName)

newmem:
push eax
mov eax,[ecx+14]
pop eax
mov ecx,[ecx+2C]
mov [monsterName],ecx
test [monsterName],monsterName
jne code
mov ecx,[monsterName]
jmp code
monsterName:
dw ''



code:
  push ebp
  mov ebp,esp
  and esp,-08
  jmp return

MonsterTest:
  jmp newmem
  nop
return:
registersymbol(MonsterTest)

[DISABLE]

MonsterTest:
  db 55 8B EC 83 E4 F8

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Game.exe.text+4F150

Game.exe.text+4F138: 8B 0D 00 AD 79 00  - mov ecx,[Game.exe+39AD00]
Game.exe.text+4F13E: 51                 - push ecx
Game.exe.text+4F13F: 56                 - push esi
Game.exe.text+4F140: 6A 06              - push 06
Game.exe.text+4F142: BB 00 AB 79 00     - mov ebx,Game.exe+39AB00
Game.exe.text+4F147: E8 24 FF FF FF     - call Game.exe.text+4F070
Game.exe.text+4F14C: 5E                 - pop esi
Game.exe.text+4F14D: 5B                 - pop ebx
Game.exe.text+4F14E: C3                 - ret 
Game.exe.text+4F14F: CC                 - int 3 
// ---------- INJECTING HERE ----------
Game.exe.text+4F150: 55                 - push ebp
// ---------- DONE INJECTING  ----------
Game.exe.text+4F151: 8B EC              - mov ebp,esp
Game.exe.text+4F153: 83 E4 F8           - and esp,-08
Game.exe.text+4F156: B8 24 14 00 00     - mov eax,00001424
Game.exe.text+4F15B: E8 C0 5B 23 00     - call Game.exe.text+284D20
Game.exe.text+4F160: 53                 - push ebx
Game.exe.text+4F161: 56                 - push esi
Game.exe.text+4F162: 8B D9              - mov ebx,ecx
Game.exe.text+4F164: 57                 - push edi
Game.exe.text+4F165: B9 01 00 00 00     - mov ecx,00000001
Game.exe.text+4F16A: E8 E1 05 0B 00     - call Game.exe.text+FF750
}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>7</ID>
              <Description>"pointerscan result"</Description>
              <ShowAsHex>1</ShowAsHex>
              <VariableType>4 Bytes</VariableType>
              <Address>"Game.exe"+003B49DC</Address>
              <Offsets>
                <Offset>24</Offset>
                <Offset>C8</Offset>
                <Offset>38</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>134157</ID>
              <Description>"God Mode (just terrible)"</Description>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : Game.exe
  Version: 
  Date   : 2022-08-06
  Author : scarl

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(INJECT,Game.exe,8B 4C 24 14 8D 3C 29) // should be unique
alloc(newmem,$1000)
alloc(maxHealth,4)

label(code)
label(return)
registersymbol(maxHealth)


newmem:
mov ecx,[esp+14]
cmp esp,0019F764
jne code
mov ecx,#0
push ebx
mov ebx,[eax+08]
mov [eax+04],ebx
pop ebx


code:
// Moved this above to ensure it's ran before the cmp, then modify if ESP
// equals player (seems to be static for now).
//  mov ecx,[esp+14]
  lea edi,[ecx+ebp]
  jmp return

INJECT:
  jmp newmem
  nop 2
return:
registersymbol(INJECT)

[DISABLE]

INJECT:
  db 8B 4C 24 14 8D 3C 29

unregistersymbol(INJECT maxHealth)
dealloc(newmem maxHealth)

{
// ORIGINAL CODE - INJECTION POINT: Game.exe+22534B

Game.exe+225333: 7C 09                 - jl Game.exe+22533E
Game.exe+225335: 8B 0E                 - mov ecx,[esi]
Game.exe+225337: 8D 04 C1              - lea eax,[ecx+eax*8]
Game.exe+22533A: 85 C0                 - test eax,eax
Game.exe+22533C: 75 0A                 - jne Game.exe+225348
Game.exe+22533E: 8B 13                 - mov edx,[ebx]
Game.exe+225340: 52                    - push edx
Game.exe+225341: 8B C7                 - mov eax,edi
Game.exe+225343: E8 B8 FB FF FF        - call Game.exe+224F00
Game.exe+225348: 8B 68 04              - mov ebp,[eax+04]
// ---------- INJECTING HERE ----------
Game.exe+22534B: 8B 4C 24 14           - mov ecx,[esp+14]
// ---------- DONE INJECTING  ----------
Game.exe+22534F: 8D 3C 29              - lea edi,[ecx+ebp]
Game.exe+225352: 85 FF                 - test edi,edi
Game.exe+225354: 89 78 04              - mov [eax+04],edi
Game.exe+225357: 7E 11                 - jle Game.exe+22536A
Game.exe+225359: 8B 54 24 18           - mov edx,[esp+18]
Game.exe+22535D: 80 7A 53 00           - cmp byte ptr [edx+53],00
Game.exe+225361: 74 07                 - je Game.exe+22536A
Game.exe+225363: 81 4B 10 00 00 00 20  - or [ebx+10],20000000
Game.exe+22536A: 83 78 04 00           - cmp dword ptr [eax+04],00
Game.exe+22536E: 75 14                 - jne Game.exe+225384
}
</AssemblerScript>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>134833</ID>
      <Description>"WIP - NO TOUCHY JUST STUDY"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <Color>1F1F1F</Color>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>134827</ID>
          <Description>"Auto Assemble script"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : Diablo II
  Version: 
  Date   : 2024-02-14
  Author : satandidnowrong

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(noManaDec0,D2GAME.dll,74 0E 8B 0D E0 8B ?? ?? 8A 46) // should be unique
aobscanmodule(noManaDec1,D2GAME.dll,74 13 8B 54 24 30) // should be unique
aobscanmodule(noManaDec2,D2COMMON.dll,7E 12 8B 54 24 18) // should be unique
aobscanmodule(noManaDec3,D2COMMON.dll,74 07 81 4B 10 00 00 00 20 8B) // should be unique

noManaDec0:
  db 74 00
noManaDec1:
  db EB
noManaDec2:
  db 74 00
noManaDec3:
  db EB

[DISABLE]
noManaDec0:
  db 74 0E
noManaDec1:
  db 74
noManaDec2:
  db 7E 12
noManaDec3:
  db 74

{
// ORIGINAL CODE - INJECTION POINT: D2GAME.dll+A1C6C

D2GAME.dll+A1C45: 0F 84 27 FE FF FF     - je D2GAME.dll+A1A72
D2GAME.dll+A1C4B: 8B 44 24 34           - mov eax,[esp+34]
D2GAME.dll+A1C4F: 85 C0                 - test eax,eax
D2GAME.dll+A1C51: 0F 84 9E 00 00 00     - je D2GAME.dll+A1CF5
D2GAME.dll+A1C57: 8B 44 24 18           - mov eax,[esp+18]
D2GAME.dll+A1C5B: 85 C0                 - test eax,eax
D2GAME.dll+A1C5D: 74 49                 - je D2GAME.dll+A1CA8
D2GAME.dll+A1C5F: 0F BF 56 2C           - movsx edx,word ptr [esi+2C]
D2GAME.dll+A1C63: 8B 04 95 38 73 34 03  - mov eax,[edx*4+D2GAME.dll+107338]
D2GAME.dll+A1C6A: 85 C0                 - test eax,eax
// ---------- INJECTING HERE ----------
D2GAME.dll+A1C6C: 74 0E                 - je D2GAME.dll+A1C7C
// ---------- DONE INJECTING  ----------
D2GAME.dll+A1C6E: 8B 0D E0 8B 33 03     - mov ecx,[D2GAME.dll+F8BE0]
D2GAME.dll+A1C74: 8A 46 08              - mov al,[esi+08]
D2GAME.dll+A1C77: 84 41 14              - test [ecx+14],al
D2GAME.dll+A1C7A: 74 13                 - je D2GAME.dll+A1C8F
D2GAME.dll+A1C7C: 8B 54 24 30           - mov edx,[esp+30]
D2GAME.dll+A1C80: 8B 44 24 28           - mov eax,[esp+28]
D2GAME.dll+A1C84: 52                    - push edx
D2GAME.dll+A1C85: 50                    - push eax
D2GAME.dll+A1C86: 8B C5                 - mov eax,ebp
D2GAME.dll+A1C88: 8B CF                 - mov ecx,edi
}

{
// ORIGINAL CODE - INJECTION POINT: D2GAME.dll+A1C7A

D2GAME.dll+A1C57: 8B 44 24 18           - mov eax,[esp+18]
D2GAME.dll+A1C5B: 85 C0                 - test eax,eax
D2GAME.dll+A1C5D: 74 49                 - je D2GAME.dll+A1CA8
D2GAME.dll+A1C5F: 0F BF 56 2C           - movsx edx,word ptr [esi+2C]
D2GAME.dll+A1C63: 8B 04 95 38 73 34 03  - mov eax,[edx*4+D2GAME.dll+107338]
D2GAME.dll+A1C6A: 85 C0                 - test eax,eax
D2GAME.dll+A1C6C: 74 0E                 - je D2GAME.dll+A1C7C
D2GAME.dll+A1C6E: 8B 0D E0 8B 33 03     - mov ecx,[D2GAME.dll+F8BE0]
D2GAME.dll+A1C74: 8A 46 08              - mov al,[esi+08]
D2GAME.dll+A1C77: 84 41 14              - test [ecx+14],al
// ---------- INJECTING HERE ----------
D2GAME.dll+A1C7A: 74 13                 - je D2GAME.dll+A1C8F
// ---------- DONE INJECTING  ----------
D2GAME.dll+A1C7C: 8B 54 24 30           - mov edx,[esp+30]
D2GAME.dll+A1C80: 8B 44 24 28           - mov eax,[esp+28]
D2GAME.dll+A1C84: 52                    - push edx
D2GAME.dll+A1C85: 50                    - push eax
D2GAME.dll+A1C86: 8B C5                 - mov eax,ebp
D2GAME.dll+A1C88: 8B CF                 - mov ecx,edi
D2GAME.dll+A1C8A: E8 C1 DB FF FF        - call D2GAME.dll+9F850
D2GAME.dll+A1C8F: 8B 15 E0 8B 33 03     - mov edx,[D2GAME.dll+F8BE0]
D2GAME.dll+A1C95: 8A 4E 04              - mov cl,[esi+04]
D2GAME.dll+A1C98: 84 0A                 - test [edx],cl
}

{
// ORIGINAL CODE - INJECTION POINT: D2COMMON.Ordinal10771+137

D2COMMON.Ordinal10771+11C: 75 0A                 - jne D2COMMON.Ordinal10771+128
D2COMMON.Ordinal10771+11E: 8B 13                 - mov edx,[ebx]
D2COMMON.Ordinal10771+120: 52                    - push edx
D2COMMON.Ordinal10771+121: 8B C7                 - mov eax,edi
D2COMMON.Ordinal10771+123: E8 38 FC FF FF        - call D2COMMON.Ordinal10871+120
D2COMMON.Ordinal10771+128: 8B 68 04              - mov ebp,[eax+04]
D2COMMON.Ordinal10771+12B: 8B 4C 24 14           - mov ecx,[esp+14]
D2COMMON.Ordinal10771+12F: 8D 3C 29              - lea edi,[ecx+ebp]
D2COMMON.Ordinal10771+132: 85 FF                 - test edi,edi
D2COMMON.Ordinal10771+134: 89 78 04              - mov [eax+04],edi
// ---------- INJECTING HERE ----------
D2COMMON.Ordinal10771+137: 7E 12                 - jle D2COMMON.Ordinal10771+14B
// ---------- DONE INJECTING  ----------
D2COMMON.Ordinal10771+139: 8B 54 24 18           - mov edx,[esp+18]
D2COMMON.Ordinal10771+13D: 8A 4A 53              - mov cl,[edx+53]
D2COMMON.Ordinal10771+140: 84 C9                 - test cl,cl
D2COMMON.Ordinal10771+142: 74 07                 - je D2COMMON.Ordinal10771+14B
D2COMMON.Ordinal10771+144: 81 4B 10 00 00 00 20  - or [ebx+10],20000000
D2COMMON.Ordinal10771+14B: 8B 48 04              - mov ecx,[eax+04]
D2COMMON.Ordinal10771+14E: 85 C9                 - test ecx,ecx
D2COMMON.Ordinal10771+150: 75 15                 - jne D2COMMON.Ordinal10771+167
D2COMMON.Ordinal10771+152: 8B 4C 24 18           - mov ecx,[esp+18]
D2COMMON.Ordinal10771+156: 8A 51 50              - mov dl,[ecx+50]
}

{
// ORIGINAL CODE - INJECTION POINT: D2COMMON.Ordinal10771+142

D2COMMON.Ordinal10771+123: E8 38 FC FF FF        - call D2COMMON.Ordinal10871+120
D2COMMON.Ordinal10771+128: 8B 68 04              - mov ebp,[eax+04]
D2COMMON.Ordinal10771+12B: 8B 4C 24 14           - mov ecx,[esp+14]
D2COMMON.Ordinal10771+12F: 8D 3C 29              - lea edi,[ecx+ebp]
D2COMMON.Ordinal10771+132: 85 FF                 - test edi,edi
D2COMMON.Ordinal10771+134: 89 78 04              - mov [eax+04],edi
D2COMMON.Ordinal10771+137: 7E 12                 - jle D2COMMON.Ordinal10771+14B
D2COMMON.Ordinal10771+139: 8B 54 24 18           - mov edx,[esp+18]
D2COMMON.Ordinal10771+13D: 8A 4A 53              - mov cl,[edx+53]
D2COMMON.Ordinal10771+140: 84 C9                 - test cl,cl
// ---------- INJECTING HERE ----------
D2COMMON.Ordinal10771+142: 74 07                 - je D2COMMON.Ordinal10771+14B
// ---------- DONE INJECTING  ----------
D2COMMON.Ordinal10771+144: 81 4B 10 00 00 00 20  - or [ebx+10],20000000
D2COMMON.Ordinal10771+14B: 8B 48 04              - mov ecx,[eax+04]
D2COMMON.Ordinal10771+14E: 85 C9                 - test ecx,ecx
D2COMMON.Ordinal10771+150: 75 15                 - jne D2COMMON.Ordinal10771+167
D2COMMON.Ordinal10771+152: 8B 4C 24 18           - mov ecx,[esp+18]
D2COMMON.Ordinal10771+156: 8A 51 50              - mov dl,[ecx+50]
D2COMMON.Ordinal10771+159: 84 D2                 - test dl,dl
D2COMMON.Ordinal10771+15B: 75 0A                 - jne D2COMMON.Ordinal10771+167
D2COMMON.Ordinal10771+15D: 8B 13                 - mov edx,[ebx]
D2COMMON.Ordinal10771+15F: 52                    - push edx
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>134828</ID>
          <Description>"Auto Assemble script"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : Diablo II
  Version: 
  Date   : 2024-02-14
  Author : satandidnowrong

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(INJECT,D2GAME.dll,74 2A 8D 4C 24 08) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  jmp D2GAME.Ordinal10024+128
code:

  lea ecx,[esp+08]
  jmp return

INJECT:
  jmp newmem
  nop
return:
registersymbol(INJECT)

[DISABLE]

INJECT:
  db 74 2A 8D 4C 24 08

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: D2GAME.Ordinal10024+FC

D2GAME.Ordinal10024+DD: E8 AE BB FF FF     - call D2GAME.Ordinal10022+90
D2GAME.Ordinal10024+E2: 83 C3 04           - add ebx,04
D2GAME.Ordinal10024+E5: 81 FB 08 1C 28 03  - cmp ebx,D2GAME.dll+111C08
D2GAME.Ordinal10024+EB: 0F 8C 64 FF FF FF  - jl D2GAME.Ordinal10024+55
D2GAME.Ordinal10024+F1: 8B 4C 24 10        - mov ecx,[esp+10]
D2GAME.Ordinal10024+F5: 5F                 - pop edi
D2GAME.Ordinal10024+F6: 33 C0              - xor eax,eax
D2GAME.Ordinal10024+F8: 3B C8              - cmp ecx,eax
D2GAME.Ordinal10024+FA: 5E                 - pop esi
D2GAME.Ordinal10024+FB: 5B                 - pop ebx
// ---------- INJECTING HERE ----------
D2GAME.Ordinal10024+FC: 74 2A              - je D2GAME.Ordinal10024+128
// ---------- DONE INJECTING  ----------
D2GAME.Ordinal10024+FE: 8D 4C 24 08        - lea ecx,[esp+08]
D2GAME.Ordinal10024+102: 51                 - push ecx
D2GAME.Ordinal10024+103: FF 15 08 8D 26 03  - call dword ptr [D2GAME.dll+F8D08]
D2GAME.Ordinal10024+109: 8B 54 24 10        - mov edx,[esp+10]
D2GAME.Ordinal10024+10D: 8B 44 24 08        - mov eax,[esp+08]
D2GAME.Ordinal10024+111: 8B 4C 24 14        - mov ecx,[esp+14]
D2GAME.Ordinal10024+115: 2B C2              - sub eax,edx
D2GAME.Ordinal10024+117: 8B 54 24 0C        - mov edx,[esp+0C]
D2GAME.Ordinal10024+11B: 1B D1              - sbb edx,ecx
D2GAME.Ordinal10024+11D: 89 54 24 14        - mov [esp+14],edx
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>134829</ID>
          <Description>"Auto Assemble script"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : Diablo II
  Version: 
  Date   : 2024-02-14
  Author : satandidnowrong

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(INJECT,D2GAME.dll,74 2A 8D 4C 24 08) // should be unique

INJECT:
  db EB

[DISABLE]

INJECT:
  db 74

{
// ORIGINAL CODE - INJECTION POINT: D2GAME.Ordinal10024+FC

D2GAME.Ordinal10024+DD: E8 AE BB FF FF     - call D2GAME.Ordinal10022+90
D2GAME.Ordinal10024+E2: 83 C3 04           - add ebx,04
D2GAME.Ordinal10024+E5: 81 FB 08 1C 28 03  - cmp ebx,D2GAME.dll+111C08
D2GAME.Ordinal10024+EB: 0F 8C 64 FF FF FF  - jl D2GAME.Ordinal10024+55
D2GAME.Ordinal10024+F1: 8B 4C 24 10        - mov ecx,[esp+10]
D2GAME.Ordinal10024+F5: 5F                 - pop edi
D2GAME.Ordinal10024+F6: 33 C0              - xor eax,eax
D2GAME.Ordinal10024+F8: 3B C8              - cmp ecx,eax
D2GAME.Ordinal10024+FA: 5E                 - pop esi
D2GAME.Ordinal10024+FB: 5B                 - pop ebx
// ---------- INJECTING HERE ----------
D2GAME.Ordinal10024+FC: 74 2A              - je D2GAME.Ordinal10024+128
// ---------- DONE INJECTING  ----------
D2GAME.Ordinal10024+FE: 8D 4C 24 08        - lea ecx,[esp+08]
D2GAME.Ordinal10024+102: 51                 - push ecx
D2GAME.Ordinal10024+103: FF 15 08 8D 26 03  - call dword ptr [D2GAME.dll+F8D08]
D2GAME.Ordinal10024+109: 8B 54 24 10        - mov edx,[esp+10]
D2GAME.Ordinal10024+10D: 8B 44 24 08        - mov eax,[esp+08]
D2GAME.Ordinal10024+111: 8B 4C 24 14        - mov ecx,[esp+14]
D2GAME.Ordinal10024+115: 2B C2              - sub eax,edx
D2GAME.Ordinal10024+117: 8B 54 24 0C        - mov edx,[esp+0C]
D2GAME.Ordinal10024+11B: 1B D1              - sbb edx,ecx
D2GAME.Ordinal10024+11D: 89 54 24 14        - mov [esp+14],edx
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>134826</ID>
          <Description>"Cast Delay (WIP)"</Description>
          <Color>1F1F1F</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : Diablo II
  Version: 
  Date   : 2024-02-13
  Author : satandidnowrong

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(castDelay0,D2CLIENT.dll,CC CC CC CC A1 FC BB BC 6F C3) // should be unique

castDelay0+04:
  nop 5
registersymbol(castDelay0)

[DISABLE]

castDelay0+04:
  db A1 FC BB BC 6F

unregistersymbol(castDelay0)

{
// ORIGINAL CODE - INJECTION POINT: D2CLIENT.dll+A4D70

D2CLIENT.dll+A4D66: CC              - int 3 
D2CLIENT.dll+A4D67: CC              - int 3 
D2CLIENT.dll+A4D68: CC              - int 3 
D2CLIENT.dll+A4D69: CC              - int 3 
D2CLIENT.dll+A4D6A: CC              - int 3 
D2CLIENT.dll+A4D6B: CC              - int 3 
D2CLIENT.dll+A4D6C: CC              - int 3 
D2CLIENT.dll+A4D6D: CC              - int 3 
D2CLIENT.dll+A4D6E: CC              - int 3 
D2CLIENT.dll+A4D6F: CC              - int 3 
// ---------- INJECTING HERE ----------
D2CLIENT.dll+A4D70: A1 FC BB BC 6F  - mov eax,[D2CLIENT.dll+11BBFC]
// ---------- DONE INJECTING  ----------
D2CLIENT.dll+A4D75: C3              - ret 
D2CLIENT.dll+A4D76: CC              - int 3 
D2CLIENT.dll+A4D77: CC              - int 3 
D2CLIENT.dll+A4D78: CC              - int 3 
D2CLIENT.dll+A4D79: CC              - int 3 
D2CLIENT.dll+A4D7A: CC              - int 3 
D2CLIENT.dll+A4D7B: CC              - int 3 
D2CLIENT.dll+A4D7C: CC              - int 3 
D2CLIENT.dll+A4D7D: CC              - int 3 
D2CLIENT.dll+A4D7E: CC              - int 3 
}
</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>134806</ID>
      <Description>"Not Needed"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <Color>1F1F1F</Color>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>134761</ID>
          <Description>"No Durability Loss MXL"</Description>
          <Color>1F1F1F</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : Diablo II
  Version:
  Date   : 2024-02-11
  Author : plaxor
  Modder ; satandidnowrong

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(durWeapon,D2GAME.dll,BB 04 00 00 00 75) // should be unique
aobscanmodule(durArmor,D2GAME.dll,BB 0A 00 00 00 8B 47) // should be unique

durWeapon+1:
  db 00
durArmor+1:
  db 00

[DISABLE]
durWeapon:
  db BB 04 00 00 00
durArmor:
  db BB 0A 00 00 00

{
// ORIGINAL CODE - INJECTION POINT: D2GAME.dll+12F15

D2GAME.dll+12EF6: 89 44 24 04        - mov [esp+04],eax
D2GAME.dll+12EFA: 75 08              - jne D2GAME.dll+12F04
D2GAME.dll+12EFC: 85 C0              - test eax,eax
D2GAME.dll+12EFE: 0F 84 71 02 00 00  - je D2GAME.dll+13175
D2GAME.dll+12F04: 56                 - push esi
D2GAME.dll+12F05: E8 66 7A FF FF     - call D2GAME.dll+A970
D2GAME.dll+12F0A: 85 C0              - test eax,eax
D2GAME.dll+12F0C: 0F 84 63 02 00 00  - je D2GAME.dll+13175
D2GAME.dll+12F12: 85 ED              - test ebp,ebp
D2GAME.dll+12F14: 53                 - push ebx
// ---------- INJECTING HERE ----------
D2GAME.dll+12F15: BB 00 00 00 00     - mov ebx,00000000
// ---------- DONE INJECTING  ----------
D2GAME.dll+12F1A: 75 19              - jne D2GAME.dll+12F35
D2GAME.dll+12F1C: 56                 - push esi
D2GAME.dll+12F1D: E8 8A 7A FF FF     - call D2GAME.dll+A9AC
D2GAME.dll+12F22: 85 C0              - test eax,eax
D2GAME.dll+12F24: 74 14              - je D2GAME.dll+12F3A
D2GAME.dll+12F26: 8B 44 24 10        - mov eax,[esp+10]
D2GAME.dll+12F2A: 8B 48 70           - mov ecx,[eax+70]
D2GAME.dll+12F2D: 85 C9              - test ecx,ecx
D2GAME.dll+12F2F: 0F 84 3F 02 00 00  - je D2GAME.dll+13174
D2GAME.dll+12F35: BB 00 00 00 00     - mov ebx,00000000
}

{
// ORIGINAL CODE - INJECTION POINT: D2GAME.dll+12F35

D2GAME.dll+12F15: BB 00 00 00 00     - mov ebx,00000000
D2GAME.dll+12F1A: 75 19              - jne D2GAME.dll+12F35
D2GAME.dll+12F1C: 56                 - push esi
D2GAME.dll+12F1D: E8 8A 7A FF FF     - call D2GAME.dll+A9AC
D2GAME.dll+12F22: 85 C0              - test eax,eax
D2GAME.dll+12F24: 74 14              - je D2GAME.dll+12F3A
D2GAME.dll+12F26: 8B 44 24 10        - mov eax,[esp+10]
D2GAME.dll+12F2A: 8B 48 70           - mov ecx,[eax+70]
D2GAME.dll+12F2D: 85 C9              - test ecx,ecx
D2GAME.dll+12F2F: 0F 84 3F 02 00 00  - je D2GAME.dll+13174
// ---------- INJECTING HERE ----------
D2GAME.dll+12F35: BB 00 00 00 00     - mov ebx,00000000
// ---------- DONE INJECTING  ----------
D2GAME.dll+12F3A: 8B 47 20           - mov eax,[edi+20]
D2GAME.dll+12F3D: B9 C5 90 C6 6A     - mov ecx,6AC690C5
D2GAME.dll+12F42: F7 E1              - mul ecx
D2GAME.dll+12F44: 8B 4F 24           - mov ecx,[edi+24]
D2GAME.dll+12F47: 33 ED              - xor ebp,ebp
D2GAME.dll+12F49: 03 C1              - add eax,ecx
D2GAME.dll+12F4B: 13 D5              - adc edx,ebp
D2GAME.dll+12F4D: 89 57 24           - mov [edi+24],edx
D2GAME.dll+12F50: 33 D2              - xor edx,edx
D2GAME.dll+12F52: B9 64 00 00 00     - mov ecx,00000064
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>134791</ID>
          <Description>"All Drop Ethereal PD2 (Only Visual)"</Description>
          <Color>1F1F1F</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : Diablo II
  Version:
  Date   : 2024-02-11
  Author : plaxor
  Modder ; satandidnowrong

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(toggleDropEthereal,D2Game.dll,7D 05 BF 01 00 00 00 F7) // should be unique

toggleDropEthereal:
  nop 2

registersymbol(toggleDropEthereal)

[DISABLE]

toggleDropEthereal:
  db 7D 05 BF 01 00 00 00

{
// ORIGINAL CODE - INJECTION POINT: D2Game.dll+EC1F

D2Game.dll+EC03: 85 C0                 - test eax,eax
D2Game.dll+EC05: 75 7B                 - jne D2Game.dll+EC82
D2Game.dll+EC07: 57                    - push edi
D2Game.dll+EC08: 56                    - push esi
D2Game.dll+EC09: 33 FF                 - xor edi,edi
D2Game.dll+EC0B: E8 DC B9 FF FF        - call D2Game.dll+A5EC
D2Game.dll+EC10: 8B C8                 - mov ecx,eax
D2Game.dll+EC12: B8 64 00 00 00        - mov eax,00000064
D2Game.dll+EC17: E8 64 25 FF FF        - call D2Game.dll+1180
D2Game.dll+EC1C: 83 F8 05              - cmp eax,05
// ---------- INJECTING HERE ----------
D2Game.dll+EC1F: 7D 05                 - jnl D2Game.dll+EC26
// ---------- DONE INJECTING  ----------
D2Game.dll+EC21: BF 01 00 00 00        - mov edi,00000001
D2Game.dll+EC26: F7 43 44 00 00 40 00  - test [ebx+44],Game.exe
D2Game.dll+EC2D: 74 05                 - je D2Game.dll+EC34
D2Game.dll+EC2F: BF 01 00 00 00        - mov edi,00000001
D2Game.dll+EC34: F6 83 80 00 00 00 04  - test byte ptr [ebx+00000080],04
D2Game.dll+EC3B: 75 04                 - jne D2Game.dll+EC41
D2Game.dll+EC3D: 85 FF                 - test edi,edi
D2Game.dll+EC3F: 74 40                 - je D2Game.dll+EC81
D2Game.dll+EC41: 56                    - push esi
D2Game.dll+EC42: E8 B5 C7 FF FF        - call D2Game.dll+B3FC
}
</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>134865</ID>
      <Description>"Old, AOB"</Description>
      <Options moHideChildren="1" moActivateChildrenAsWell="1"/>
      <Color>404040</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry>
      <ID>134757</ID>
      <Description>"Old, Non-AOB"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <Color>404040</Color>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>134357</ID>
          <Description>"All items are zero cost (including player)"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>// Author : plaxor
define(address, "D2Common.dll"+28E80)
define(bytes, 83 EC 24 53 8B 5C 24 2C)

[ENABLE]
assert(address, bytes)
address:
  xor eax eax
  ret 0014
  nop 3

[DISABLE]
address:
  db bytes

</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>134459</ID>
          <Description>"No Drop Ethereal"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>// Author : plaxor

define(address, "D2Game.dll"+EC1F)

[ENABLE]
assert(address, 7D)
address:
  db EB

[DISABLE]
address:
  db 7D
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>134315</ID>
          <Description>"Can't be Killed"</Description>
          <Options moDeactivateChildrenAsWell="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>// Author : plaxor
// Modder : satandidnowrong

define(address, "D2Game.dll"+DE253)
define(bytes, 2B C7 3D 00 01 00 00)

[ENABLE]
assert(address, bytes)
alloc(newmem, $1000)
label(bOHK)

newmem:
  cmp [esi], 0
  je @f
  sub eax,edi

  cmp byte ptr [bOHK], 00
  je @f
  xor eax, eax

@@:
  cmp eax, 1
  jmp return

registersymbol(bOHK)
bOHK:
  db 00

address:
  jmp newmem
  nop 2
return:

[DISABLE]
unregistersymbol(bOHK)
address:
  db bytes
  // sub eax,edi
  // cmp eax,00000100

dealloc(newmem)
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>134439</ID>
          <Description>"No Mana Spell Cost"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>// Author : plaxor

define(address1, "D2Game.dll"+A1C6C)
define(address2, "D2Game.dll"+A1C7A)

[ENABLE]
assert(address1, ?? 0E)
assert(address2, 74)

address1:
  db ?? 00
address2:
  db EB

[DISABLE]
address1:
  db ?? 0E
address2:
  db 74
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>134385</ID>
          <Description>"No Stamina Drain"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>// Author : plaxor

define(address, "D2Game.dll"+79BC0)
define(bytes, 75)

[ENABLE]
assert(address, 75)
address:
  db EB

[DISABLE]
address:
  db 75

</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>134425</ID>
          <Description>"Run/Walk Speed +150"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript Async="1">// Author: plaxor

define(address, "D2Common.dll"+33357)
define(bytes, 03 F0 83 FE 19)

[ENABLE]
assert(address, bytes)
alloc(newmem, $1000)

newmem:
  cmp [edi], 0
  jne code
  add esi, #150

code:
  add esi,eax
  cmp esi,19
  jmp return

address:
  jmp newmem
return:

[DISABLE]
address:
  db bytes

dealloc(newmem)
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>134372</ID>
          <Description>"Melee Range +200"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Author : plaxor
  You must equip a melee weapon!
}

define(address, "D2Common.dll"+22F20)
define(bytes, 8B 44 24 04 85 C0)

[ENABLE]
assert(address, bytes)
address:
  mov al, #200 // range
  ret 4
  nop

[DISABLE]
address:
  db bytes

</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>134445</ID>
          <Description>"No Arrow Decrease"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>// Author : plaxor

[ENABLE]
"D2Game.dll"+A16BE:
  nop

[DISABLE]
"D2Game.dll"+A16BE:
  db 4D

</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>134783</ID>
          <Description>"Zero Gold Trade/Sell"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : Diablo II
  Version: 
  Date   : 2024-02-11
  Author : plaxor
  Modder : satandidnowrong

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(costGold,D2COMMON.dll,83 EC 24 53 8B 5C 24 2C) // should be unique
alloc(newmem,$1000)

newmem:
  xor eax eax
  ret 0014
costGold:
  jmp newmem
  nop 3

[DISABLE]
costGold:
  db 83 EC 24 53 8B 5C 24 2C

dealloc(*)

{
// ORIGINAL CODE - INJECTION POINT: D2COMMON.Ordinal11057+6B0

D2COMMON.Ordinal11057+69C: 8B 70 08           - mov esi,[eax+08]
D2COMMON.Ordinal11057+69F: 85 F6              - test esi,esi
D2COMMON.Ordinal11057+6A1: 75 BE              - jne D2COMMON.Ordinal11057+661
D2COMMON.Ordinal11057+6A3: 55                 - push ebp
D2COMMON.Ordinal11057+6A4: E8 57 04 FE FF     - call D2COMMON.dll+92D0
D2COMMON.Ordinal11057+6A9: 5F                 - pop edi
D2COMMON.Ordinal11057+6AA: 5E                 - pop esi
D2COMMON.Ordinal11057+6AB: 5D                 - pop ebp
D2COMMON.Ordinal11057+6AC: 5B                 - pop ebx
D2COMMON.Ordinal11057+6AD: C2 0C 00           - ret 000C
// ---------- INJECTING HERE ----------
D2COMMON.Ordinal11057+6B0: 83 EC 24           - sub esp,24
// ---------- DONE INJECTING  ----------
D2COMMON.Ordinal11057+6B3: 53                 - push ebx
D2COMMON.Ordinal11057+6B4: 8B 5C 24 2C        - mov ebx,[esp+2C]
D2COMMON.Ordinal11057+6B8: 56                 - push esi
D2COMMON.Ordinal11057+6B9: 8B F0              - mov esi,eax
D2COMMON.Ordinal11057+6BB: 85 F6              - test esi,esi
D2COMMON.Ordinal11057+6BD: 0F 84 3B 0E 00 00  - je D2COMMON.Ordinal11057+14FE
D2COMMON.Ordinal11057+6C3: 85 DB              - test ebx,ebx
D2COMMON.Ordinal11057+6C5: 0F 84 33 0E 00 00  - je D2COMMON.Ordinal11057+14FE
D2COMMON.Ordinal11057+6CB: 8B 03              - mov eax,[ebx]
D2COMMON.Ordinal11057+6CD: 83 F8 04           - cmp eax,04
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>134307</ID>
          <Description>"Equipment Ignore level"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>// Author : plaxor

define(address, "D2Common.dll"+26190)
define(bytes, 81 EC 10 02 00 00)

[ENABLE]
assert(address, bytes)
address:
  xor eax, eax
  ret
  nop 3

[DISABLE]
address:
  db bytes
  // sub esp,00000210
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>134393</ID>
          <Description>"Lock All Chest (just for fun)"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript Async="1">// Author : plaxor

define(address, "D2Game.dll"+2ED1E)

[ENABLE]
assert(address, 7D 05)
address:
  nop 2

[DISABLE]
address:
  db 7D 05

</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>134388</ID>
          <Description>"No Key Requirement  (in chest)"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>// Author : plaxor

define(address, "D2Game.dll"+6F093)
define(bytes, 83 78 04 06 74)

[ENABLE]
assert(address, bytes)
address:
  nop 4
  db EB

[DISABLE]
address:
  db bytes
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>134391</ID>
          <Description>"0% Trap Chance  (in chest)"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>// Author : plaxor

define(address, "D2Game.dll"+2ED19)
define(bytes, 83 C0 08)

[ENABLE]
assert(address, bytes)
address:
  xor eax eax
  nop
[DISABLE]
address:
  db bytes

</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>134747</ID>
          <Description>"All Waypoints Activated"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>// Author : plaxor
// Modder : satandidnowrong

define(address, "D2Common.dll"+67CF1)
define(bytes, 23 C1)

[ENABLE]
assert(address, bytes)
address:
  mov al,01

[DISABLE]
address:
  db bytes

</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>134416</ID>
          <Description>"Full Light Radius"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>// Author : plaxor

define(address, "D2Common.dll"+3C6A0)
define(bytes, 8B 44 24 14)

[ENABLE]
assert(address, bytes)
address:
  ret 14
  nop

[DISABLE]
address:
  db bytes

</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>134409</ID>
          <Description>"Super Light Radius"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>// Author : plaxor

define(address, "D2Client.dll"+A8560)

[ENABLE]
assert(address, 83 EC 0C)
address:
  ret 0004

[DISABLE]
address:
  db 83 EC 0C

</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>134758</ID>
          <Description>"No Durability Loss MXL"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>// Author : plaxor
// Modder : satandidnowrong

define(dur_weapon, "D2Game.dll"+12F15)
define(dur_armor, "D2Game.dll"+12F35)
define(byte1, BB 04 00 00 00)
define(byte2, BB 0A 00 00 00)

[ENABLE]
assert(dur_weapon, byte1)
assert(dur_armor, byte2)

dur_weapon+1:
  db 00
dur_armor+1:
  db 00

[DISABLE]
dur_weapon:
  db byte1
dur_armor:
  db byte2

</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>134402</ID>
          <Description>"No Durability Loss PD2"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>// Author : plaxor
// Modder : satandidnowrong

define(dur_weapon, "D2Game.dll"+12F15)
define(dur_armor, "D2Game.dll"+12F35)
define(byte1, BB 02 00 00 00)
define(byte2, BB 05 00 00 00)

[ENABLE]
assert(dur_weapon, byte1)
assert(dur_armor, byte2)

dur_weapon+1:
  db 00
dur_armor+1:
  db 00

[DISABLE]
dur_weapon:
  db byte1
dur_armor:
  db byte2

</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>134755</ID>
          <Description>"Light Radius"</Description>
          <Options moHideChildren="1" moManualExpandCollapse="1" moAllowManualCollapseAndExpand="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>134848</ID>
              <Description>"Super"</Description>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>// Author : plaxor

define(address, "D2Client.dll"+A8560)

[ENABLE]
assert(address, 83 EC 0C)
address:
  ret 0004

[DISABLE]
address:
  db 83 EC 0C

</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>134849</ID>
              <Description>"Full"</Description>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>// Author : plaxor

define(address, "D2Common.dll"+3C6A0)
define(bytes, 8B 44 24 14)

[ENABLE]
assert(address, bytes)
address:
  ret 14
  nop

[DISABLE]
address:
  db bytes

</AssemblerScript>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>134850</ID>
          <Description>"Chest"</Description>
          <Options moHideChildren="1" moManualExpandCollapse="1" moAllowManualCollapseAndExpand="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>134851</ID>
              <Description>"No Key Requirement"</Description>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>// Author : plaxor

define(address, "D2Game.dll"+6F093)
define(bytes, 83 78 04 06 74)

[ENABLE]
assert(address, bytes)
address:
  nop 4
  db EB

[DISABLE]
address:
  db bytes
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>134852</ID>
              <Description>"0% Trap Chance"</Description>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>// Author : plaxor

define(address, "D2Game.dll"+2ED19)
define(bytes, 83 C0 08)

[ENABLE]
assert(address, bytes)
address:
  xor eax eax
  nop
[DISABLE]
address:
  db bytes

</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>134853</ID>
              <Description>"Lock All Chests"</Description>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript Async="1">// Author : plaxor

define(address, "D2Game.dll"+2ED1E)

[ENABLE]
assert(address, 7D 05)
address:
  nop 2

[DISABLE]
address:
  db 7D 05

</AssemblerScript>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>134846</ID>
          <Description>"Run/Walk Speed +150"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript Async="1">// Author: plaxor

define(address, "D2Common.dll"+33357)
define(bytes, 03 F0 83 FE 19)

[ENABLE]
assert(address, bytes)
alloc(newmem, $1000)

newmem:
  cmp [edi], 0
  jne code
  add esi, #150 // &lt;-- you can edit this

code:
  add esi,eax
  cmp esi,19
  jmp return

address:
  jmp newmem
return:

[DISABLE]
address:
  db bytes

dealloc(newmem)
</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>134748</ID>
      <Description>"- - - - - - - - - -"</Description>
      <Color>C0C0C0</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry>
      <ID>134749</ID>
      <Description>"Happy? You can buy me a coffee :)"</Description>
      <Color>C0C0C0</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry>
      <ID>134750</ID>
      <Description>"https://ko-fi.com/plaxor"</Description>
      <Color>C0C0C0</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry>
      <ID>134751</ID>
      <Description>"https://www.buymeacoffee.com/plaxor"</Description>
      <Color>C0C0C0</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry>
      <ID>134856</ID>
      <Description>"No description"</Description>
      <VariableType>4 Bytes</VariableType>
      <Address>D2Win.dll+2148C</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>134857</ID>
      <Description>"No description"</Description>
      <VariableType>4 Bytes</VariableType>
      <Address>D2Client.dll+11B824</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>134858</ID>
      <Description>"No description"</Description>
      <VariableType>4 Bytes</VariableType>
      <Address>D2Win.dll+21488</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>134859</ID>
      <Description>"No description"</Description>
      <VariableType>4 Bytes</VariableType>
      <Address>D2Client.dll+11B828</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>134860</ID>
      <Description>"No description"</Description>
      <VariableType>4 Bytes</VariableType>
      <Address>0019F830</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>134861</ID>
      <Description>"No description"</Description>
      <VariableType>4 Bytes</VariableType>
      <Address>0019F834</Address>
    </CheatEntry>
  </CheatEntries>
  <CheatCodes>
    <CodeEntry>
      <Description>Code :mov ecx,[eax+04]</Description>
      <AddressString>D2COMMON.dll+3A2D0</AddressString>
      <Before>
        <Byte>E8</Byte>
        <Byte>70</Byte>
        <Byte>E3</Byte>
        <Byte>FF</Byte>
        <Byte>FF</Byte>
      </Before>
      <Actual>
        <Byte>8B</Byte>
        <Byte>48</Byte>
        <Byte>04</Byte>
      </Actual>
      <After>
        <Byte>55</Byte>
        <Byte>8B</Byte>
        <Byte>6C</Byte>
        <Byte>24</Byte>
        <Byte>1C</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Code :mov [eax+04],ecx</Description>
      <AddressString>D2COMMON.dll+3A2F9</AddressString>
      <Before>
        <Byte>DE</Byte>
        <Byte>FF</Byte>
        <Byte>FF</Byte>
        <Byte>EB</Byte>
        <Byte>03</Byte>
      </Before>
      <Actual>
        <Byte>89</Byte>
        <Byte>48</Byte>
        <Byte>04</Byte>
      </Actual>
      <After>
        <Byte>6A</Byte>
        <Byte>00</Byte>
        <Byte>55</Byte>
        <Byte>8B</Byte>
        <Byte>C3</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of cmp ecx,08</Description>
      <AddressString>Game.exe+133190</AddressString>
      <Before>
        <Byte>CC</Byte>
        <Byte>CC</Byte>
        <Byte>CC</Byte>
        <Byte>CC</Byte>
        <Byte>CC</Byte>
      </Before>
      <Actual>
        <Byte>83</Byte>
        <Byte>F9</Byte>
        <Byte>08</Byte>
      </Actual>
      <After>
        <Byte>77</Byte>
        <Byte>06</Byte>
        <Byte>89</Byte>
        <Byte>0D</Byte>
        <Byte>B0</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of mov eax,[esp+7C]</Description>
      <AddressString>Game.exe+17B593</AddressString>
      <Before>
        <Byte>E8</Byte>
        <Byte>BD</Byte>
        <Byte>F0</Byte>
        <Byte>FF</Byte>
        <Byte>FF</Byte>
      </Before>
      <Actual>
        <Byte>8B</Byte>
        <Byte>44</Byte>
        <Byte>24</Byte>
        <Byte>7C</Byte>
      </Actual>
      <After>
        <Byte>85</Byte>
        <Byte>C0</Byte>
        <Byte>7E</Byte>
        <Byte>09</Byte>
        <Byte>6A</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of mov eax,00000001</Description>
      <AddressString>Game.exe+16D047</AddressString>
      <Before>
        <Byte>E4</Byte>
        <Byte>00</Byte>
        <Byte>00</Byte>
        <Byte>5B</Byte>
        <Byte>5F</Byte>
      </Before>
      <Actual>
        <Byte>B8</Byte>
        <Byte>01</Byte>
        <Byte>00</Byte>
        <Byte>00</Byte>
        <Byte>00</Byte>
      </Actual>
      <After>
        <Byte>5E</Byte>
        <Byte>83</Byte>
        <Byte>C4</Byte>
        <Byte>70</Byte>
        <Byte>C2</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of add edi,edx</Description>
      <AddressString>Game.exe+58F1C</AddressString>
      <Before>
        <Byte>B6</Byte>
        <Byte>55</Byte>
        <Byte>01</Byte>
        <Byte>8B</Byte>
        <Byte>F8</Byte>
      </Before>
      <Actual>
        <Byte>03</Byte>
        <Byte>FA</Byte>
      </Actual>
      <After>
        <Byte>EB</Byte>
        <Byte>35</Byte>
        <Byte>6A</Byte>
        <Byte>00</Byte>
        <Byte>BE</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of mov eax,[Game.exe+39D294]</Description>
      <AddressString>Game.exe+56700</AddressString>
      <Before>
        <Byte>CC</Byte>
        <Byte>CC</Byte>
        <Byte>CC</Byte>
        <Byte>CC</Byte>
        <Byte>CC</Byte>
      </Before>
      <Actual>
        <Byte>A1</Byte>
        <Byte>94</Byte>
        <Byte>D2</Byte>
        <Byte>79</Byte>
        <Byte>00</Byte>
      </Actual>
      <After>
        <Byte>2B</Byte>
        <Byte>05</Byte>
        <Byte>9C</Byte>
        <Byte>D2</Byte>
        <Byte>79</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of mov [Game.exe+39D294],esi</Description>
      <AddressString>Game.exe+56C1E</AddressString>
      <Before>
        <Byte>0C</Byte>
        <Byte>8D</Byte>
        <Byte>4C</Byte>
        <Byte>24</Byte>
        <Byte>08</Byte>
      </Before>
      <Actual>
        <Byte>89</Byte>
        <Byte>35</Byte>
        <Byte>94</Byte>
        <Byte>D2</Byte>
        <Byte>79</Byte>
        <Byte>00</Byte>
      </Actual>
      <After>
        <Byte>E8</Byte>
        <Byte>D7</Byte>
        <Byte>BB</Byte>
        <Byte>01</Byte>
        <Byte>00</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of mov [Game.exe+30F218],eax</Description>
      <AddressString>Game.exe+47EC2</AddressString>
      <Before>
        <Byte>15</Byte>
        <Byte>1C</Byte>
        <Byte>F2</Byte>
        <Byte>70</Byte>
        <Byte>00</Byte>
      </Before>
      <Actual>
        <Byte>A3</Byte>
        <Byte>18</Byte>
        <Byte>F2</Byte>
        <Byte>70</Byte>
        <Byte>00</Byte>
      </Actual>
      <After>
        <Byte>E8</Byte>
        <Byte>04</Byte>
        <Byte>9F</Byte>
        <Byte>02</Byte>
        <Byte>00</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of mov esi,[Game.exe+30F218]</Description>
      <AddressString>Game.exe+47E92</AddressString>
      <Before>
        <Byte>0C</Byte>
        <Byte>8B</Byte>
        <Byte>44</Byte>
        <Byte>24</Byte>
        <Byte>10</Byte>
      </Before>
      <Actual>
        <Byte>8B</Byte>
        <Byte>35</Byte>
        <Byte>18</Byte>
        <Byte>F2</Byte>
        <Byte>70</Byte>
        <Byte>00</Byte>
      </Actual>
      <After>
        <Byte>75</Byte>
        <Byte>05</Byte>
        <Byte>83</Byte>
        <Byte>FE</Byte>
        <Byte>FF</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of mov [Game.exe+3C0A9C],ecx</Description>
      <AddressString>Game.exe+DA9D5</AddressString>
      <Before>
        <Byte>18</Byte>
        <Byte>8B</Byte>
        <Byte>44</Byte>
        <Byte>24</Byte>
        <Byte>1C</Byte>
      </Before>
      <Actual>
        <Byte>89</Byte>
        <Byte>0D</Byte>
        <Byte>9C</Byte>
        <Byte>0A</Byte>
        <Byte>7C</Byte>
        <Byte>00</Byte>
      </Actual>
      <After>
        <Byte>8B</Byte>
        <Byte>4C</Byte>
        <Byte>24</Byte>
        <Byte>20</Byte>
        <Byte>89</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of mov [Game.exe+3C0A90],edx</Description>
      <AddressString>Game.exe+DAB24</AddressString>
      <Before>
        <Byte>EA</Byte>
        <Byte>02</Byte>
        <Byte>83</Byte>
        <Byte>F8</Byte>
        <Byte>02</Byte>
      </Before>
      <Actual>
        <Byte>89</Byte>
        <Byte>15</Byte>
        <Byte>90</Byte>
        <Byte>0A</Byte>
        <Byte>7C</Byte>
        <Byte>00</Byte>
      </Actual>
      <After>
        <Byte>74</Byte>
        <Byte>1F</Byte>
        <Byte>83</Byte>
        <Byte>F8</Byte>
        <Byte>03</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of mov [edi],ebx</Description>
      <AddressString>Game.exe+25100C</AddressString>
      <Before>
        <Byte>00</Byte>
        <Byte>8D</Byte>
        <Byte>4C</Byte>
        <Byte>24</Byte>
        <Byte>0C</Byte>
      </Before>
      <Actual>
        <Byte>89</Byte>
        <Byte>1F</Byte>
      </Actual>
      <After>
        <Byte>89</Byte>
        <Byte>77</Byte>
        <Byte>04</Byte>
        <Byte>51</Byte>
        <Byte>8D</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of cmp edi,[esi]</Description>
      <AddressString>Game.exe+251305</AddressString>
      <Before>
        <Byte>C3</Byte>
        <Byte>00</Byte>
        <Byte>80</Byte>
        <Byte>00</Byte>
        <Byte>00</Byte>
      </Before>
      <Actual>
        <Byte>3B</Byte>
        <Byte>3E</Byte>
      </Actual>
      <After>
        <Byte>74</Byte>
        <Byte>BF</Byte>
        <Byte>8B</Byte>
        <Byte>4E</Byte>
        <Byte>04</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of movzx eax,word ptr [eax+02]</Description>
      <AddressString>Game.exe+249CA7</AddressString>
      <Before>
        <Byte>E8</Byte>
        <Byte>64</Byte>
        <Byte>B1</Byte>
        <Byte>03</Byte>
        <Byte>00</Byte>
      </Before>
      <Actual>
        <Byte>0F</Byte>
        <Byte>B7</Byte>
        <Byte>40</Byte>
        <Byte>02</Byte>
      </Actual>
      <After>
        <Byte>C2</Byte>
        <Byte>04</Byte>
        <Byte>00</Byte>
        <Byte>CC</Byte>
        <Byte>CC</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of mov ax,[ebx+02]</Description>
      <AddressString>Game.exe+24ACF6</AddressString>
      <Before>
        <Byte>C4</Byte>
        <Byte>34</Byte>
        <Byte>C2</Byte>
        <Byte>0C</Byte>
        <Byte>00</Byte>
      </Before>
      <Actual>
        <Byte>66</Byte>
        <Byte>8B</Byte>
        <Byte>43</Byte>
        <Byte>02</Byte>
      </Actual>
      <After>
        <Byte>66</Byte>
        <Byte>3B</Byte>
        <Byte>C5</Byte>
        <Byte>66</Byte>
        <Byte>8B</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of movzx edi,word ptr [eax+02]</Description>
      <AddressString>Game.exe+24AA35</AddressString>
      <Before>
        <Byte>0E</Byte>
        <Byte>85</Byte>
        <Byte>C0</Byte>
        <Byte>74</Byte>
        <Byte>06</Byte>
      </Before>
      <Actual>
        <Byte>0F</Byte>
        <Byte>B7</Byte>
        <Byte>78</Byte>
        <Byte>02</Byte>
      </Actual>
      <After>
        <Byte>EB</Byte>
        <Byte>07</Byte>
        <Byte>33</Byte>
        <Byte>FF</Byte>
        <Byte>EB</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of cmp edi,[esi]</Description>
      <AddressString>Game.exe+2512BD</AddressString>
      <Before>
        <Byte>C3</Byte>
        <Byte>00</Byte>
        <Byte>80</Byte>
        <Byte>00</Byte>
        <Byte>00</Byte>
      </Before>
      <Actual>
        <Byte>3B</Byte>
        <Byte>3E</Byte>
      </Actual>
      <After>
        <Byte>89</Byte>
        <Byte>54</Byte>
        <Byte>24</Byte>
        <Byte>10</Byte>
        <Byte>75</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of mov ecx,[esi]</Description>
      <AddressString>Game.exe+60915</AddressString>
      <Before>
        <Byte>04</Byte>
        <Byte>8B</Byte>
        <Byte>5C</Byte>
        <Byte>24</Byte>
        <Byte>10</Byte>
      </Before>
      <Actual>
        <Byte>8B</Byte>
        <Byte>0E</Byte>
      </Actual>
      <After>
        <Byte>89</Byte>
        <Byte>0F</Byte>
        <Byte>8B</Byte>
        <Byte>56</Byte>
        <Byte>04</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of movzx eax,word ptr [edi+02]</Description>
      <AddressString>Game.exe+250F25</AddressString>
      <Before>
        <Byte>8B</Byte>
        <Byte>4F</Byte>
        <Byte>1C</Byte>
        <Byte>85</Byte>
        <Byte>C9</Byte>
      </Before>
      <Actual>
        <Byte>0F</Byte>
        <Byte>B7</Byte>
        <Byte>47</Byte>
        <Byte>02</Byte>
      </Actual>
      <After>
        <Byte>0F</Byte>
        <Byte>B7</Byte>
        <Byte>57</Byte>
        <Byte>06</Byte>
        <Byte>53</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of sub ebp,[esi]</Description>
      <AddressString>Game.exe+251529</AddressString>
      <Before>
        <Byte>C2</Byte>
        <Byte>00</Byte>
        <Byte>80</Byte>
        <Byte>00</Byte>
        <Byte>00</Byte>
      </Before>
      <Actual>
        <Byte>2B</Byte>
        <Byte>2E</Byte>
      </Actual>
      <After>
        <Byte>78</Byte>
        <Byte>06</Byte>
        <Byte>89</Byte>
        <Byte>6C</Byte>
        <Byte>24</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of movzx edi,word ptr [ecx+02]</Description>
      <AddressString>Game.exe+24A814</AddressString>
      <Before>
        <Byte>0E</Byte>
        <Byte>85</Byte>
        <Byte>C9</Byte>
        <Byte>74</Byte>
        <Byte>06</Byte>
      </Before>
      <Actual>
        <Byte>0F</Byte>
        <Byte>B7</Byte>
        <Byte>79</Byte>
        <Byte>02</Byte>
      </Actual>
      <After>
        <Byte>EB</Byte>
        <Byte>07</Byte>
        <Byte>33</Byte>
        <Byte>FF</Byte>
        <Byte>EB</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of mov cx,[esi+02]</Description>
      <AddressString>Game.exe+27C9DD</AddressString>
      <Before>
        <Byte>02</Byte>
        <Byte>33</Byte>
        <Byte>C0</Byte>
        <Byte>59</Byte>
        <Byte>C3</Byte>
      </Before>
      <Actual>
        <Byte>66</Byte>
        <Byte>8B</Byte>
        <Byte>4E</Byte>
        <Byte>02</Byte>
      </Actual>
      <After>
        <Byte>66</Byte>
        <Byte>8B</Byte>
        <Byte>56</Byte>
        <Byte>06</Byte>
        <Byte>66</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of movzx ebp,word ptr [esi+02]</Description>
      <AddressString>Game.exe+608D7</AddressString>
      <Before>
        <Byte>0F</Byte>
        <Byte>B7</Byte>
        <Byte>46</Byte>
        <Byte>06</Byte>
        <Byte>55</Byte>
      </Before>
      <Actual>
        <Byte>0F</Byte>
        <Byte>B7</Byte>
        <Byte>6E</Byte>
        <Byte>02</Byte>
      </Actual>
      <After>
        <Byte>3B</Byte>
        <Byte>E9</Byte>
        <Byte>89</Byte>
        <Byte>44</Byte>
        <Byte>24</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of mov di,[esi+02]</Description>
      <AddressString>Game.exe+2518E2</AddressString>
      <Before>
        <Byte>66</Byte>
        <Byte>8B</Byte>
        <Byte>6E</Byte>
        <Byte>06</Byte>
        <Byte>57</Byte>
      </Before>
      <Actual>
        <Byte>66</Byte>
        <Byte>8B</Byte>
        <Byte>7E</Byte>
        <Byte>02</Byte>
      </Actual>
      <After>
        <Byte>8B</Byte>
        <Byte>D6</Byte>
        <Byte>8D</Byte>
        <Byte>4C</Byte>
        <Byte>24</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Code :nop </Description>
      <AddressString>Game.exe+78292</AddressString>
      <Before>
        <Byte>83</Byte>
        <Byte>FE</Byte>
        <Byte>01</Byte>
        <Byte>7E</Byte>
        <Byte>48</Byte>
      </Before>
      <Actual>
        <Byte>90</Byte>
      </Actual>
      <After>
        <Byte>90</Byte>
        <Byte>90</Byte>
        <Byte>90</Byte>
        <Byte>90</Byte>
        <Byte>90</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of dec [eax]</Description>
      <AddressString>Game.exe+78293</AddressString>
      <Before>
        <Byte>FE</Byte>
        <Byte>01</Byte>
        <Byte>7E</Byte>
        <Byte>48</Byte>
        <Byte>90</Byte>
      </Before>
      <Actual>
        <Byte>FE</Byte>
        <Byte>08</Byte>
      </Actual>
      <After>
        <Byte>7C</Byte>
        <Byte>05</Byte>
        <Byte>BE</Byte>
        <Byte>08</Byte>
        <Byte>00</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of jl Game.exe+7829C</Description>
      <AddressString>Game.exe+78295</AddressString>
      <Before>
        <Byte>7E</Byte>
        <Byte>48</Byte>
        <Byte>90</Byte>
        <Byte>90</Byte>
        <Byte>90</Byte>
      </Before>
      <Actual>
        <Byte>7C</Byte>
        <Byte>05</Byte>
      </Actual>
      <After>
        <Byte>BE</Byte>
        <Byte>08</Byte>
        <Byte>00</Byte>
        <Byte>00</Byte>
        <Byte>00</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of mov esi,00000008</Description>
      <AddressString>Game.exe+78297</AddressString>
      <Before>
        <Byte>90</Byte>
        <Byte>90</Byte>
        <Byte>90</Byte>
        <Byte>90</Byte>
        <Byte>90</Byte>
      </Before>
      <Actual>
        <Byte>BE</Byte>
        <Byte>08</Byte>
        <Byte>00</Byte>
        <Byte>00</Byte>
        <Byte>00</Byte>
      </Actual>
      <After>
        <Byte>8B</Byte>
        <Byte>CE</Byte>
        <Byte>E8</Byte>
        <Byte>ED</Byte>
        <Byte>AE</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of ja Game.exe+13319B</Description>
      <AddressString>Game.exe+133193</AddressString>
      <Before>
        <Byte>CC</Byte>
        <Byte>CC</Byte>
        <Byte>83</Byte>
        <Byte>F9</Byte>
        <Byte>08</Byte>
      </Before>
      <Actual>
        <Byte>77</Byte>
        <Byte>06</Byte>
      </Actual>
      <After>
        <Byte>89</Byte>
        <Byte>0D</Byte>
        <Byte>B0</Byte>
        <Byte>BD</Byte>
        <Byte>87</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of je Game.exe+284F55</Description>
      <AddressString>Game.exe+284F4D</AddressString>
      <Before>
        <Byte>E2</Byte>
        <Byte>03</Byte>
        <Byte>C1</Byte>
        <Byte>E9</Byte>
        <Byte>02</Byte>
      </Before>
      <Actual>
        <Byte>74</Byte>
        <Byte>06</Byte>
      </Actual>
      <After>
        <Byte>F3</Byte>
        <Byte>AB</Byte>
        <Byte>85</Byte>
        <Byte>D2</Byte>
        <Byte>74</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Testing Item ID</Description>
      <AddressString>Game.exe+156E85</AddressString>
      <Before>
        <Byte>E8</Byte>
        <Byte>5B</Byte>
        <Byte>C4</Byte>
        <Byte>FF</Byte>
        <Byte>FF</Byte>
      </Before>
      <Actual>
        <Byte>8B</Byte>
        <Byte>F8</Byte>
      </Actual>
      <After>
        <Byte>85</Byte>
        <Byte>FF</Byte>
        <Byte>89</Byte>
        <Byte>7C</Byte>
        <Byte>24</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of call Game.exe+228190</Description>
      <AddressString>Game.exe+15548A</AddressString>
      <Before>
        <Byte>8B</Byte>
        <Byte>0E</Byte>
        <Byte>6A</Byte>
        <Byte>04</Byte>
        <Byte>51</Byte>
      </Before>
      <Actual>
        <Byte>E8</Byte>
        <Byte>01</Byte>
        <Byte>2D</Byte>
        <Byte>0D</Byte>
        <Byte>00</Byte>
      </Actual>
      <After>
        <Byte>C7</Byte>
        <Byte>45</Byte>
        <Byte>30</Byte>
        <Byte>04</Byte>
        <Byte>00</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of add [eax],al</Description>
      <AddressString>Game.exe+155494</AddressString>
      <Before>
        <Byte>90</Byte>
        <Byte>90</Byte>
        <Byte>90</Byte>
        <Byte>90</Byte>
        <Byte>90</Byte>
      </Before>
      <Actual>
        <Byte>00</Byte>
        <Byte>00</Byte>
      </Actual>
      <After>
        <Byte>8B</Byte>
        <Byte>16</Byte>
        <Byte>52</Byte>
        <Byte>E8</Byte>
        <Byte>12</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Testing Rarity</Description>
      <AddressString>Game.exe+1555A9</AddressString>
      <Before>
        <Byte>E8</Byte>
        <Byte>A7</Byte>
        <Byte>FA</Byte>
        <Byte>FF</Byte>
        <Byte>FF</Byte>
      </Before>
      <Actual>
        <Byte>8B</Byte>
        <Byte>4F</Byte>
        <Byte>30</Byte>
      </Actual>
      <After>
        <Byte>85</Byte>
        <Byte>C9</Byte>
        <Byte>74</Byte>
        <Byte>02</Byte>
        <Byte>8B</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Ret for Waypoint Usage to Turn off</Description>
      <AddressString>Game.exe+7C760</AddressString>
      <Before>
        <Byte>CC</Byte>
        <Byte>CC</Byte>
        <Byte>CC</Byte>
        <Byte>CC</Byte>
        <Byte>CC</Byte>
      </Before>
      <Actual>
        <Byte>C3</Byte>
      </Actual>
      <After>
        <Byte>90</Byte>
        <Byte>90</Byte>
        <Byte>53</Byte>
        <Byte>55</Byte>
        <Byte>56</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Code :mov [ebx+30],00000006</Description>
      <AddressString>D2Game.dll+1076A</AddressString>
      <Before>
        <Byte>E8</Byte>
        <Byte>26</Byte>
        <Byte>A9</Byte>
        <Byte>FF</Byte>
        <Byte>FF</Byte>
      </Before>
      <Actual>
        <Byte>C7</Byte>
        <Byte>43</Byte>
        <Byte>30</Byte>
        <Byte>06</Byte>
        <Byte>00</Byte>
        <Byte>00</Byte>
        <Byte>00</Byte>
      </Actual>
      <After>
        <Byte>8B</Byte>
        <Byte>17</Byte>
        <Byte>52</Byte>
        <Byte>E8</Byte>
        <Byte>73</Byte>
      </After>
    </CodeEntry>
  </CheatCodes>
  <UserdefinedSymbols>
    <SymbolEntry>
      <Name>anim</Name>
      <Address>277B21F0000</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>P_stats</Name>
      <Address>230A62C0000</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>00000000</Name>
      <Address>0EEC0100</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>0322ED1E</Name>
      <Address>0EEC0200</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>0322ED39</Name>
      <Address>0EEC0300</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>AutoNoPickup</Name>
      <Address>02240000</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>NoPickup</Name>
      <Address>047A0000</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>SkillManager_savedAOB</Name>
      <Address>0100295F</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>Item_savedAOB</Name>
      <Address>010839EE</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>Skill_savedAOB</Name>
      <Address>010209E3</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>address</Name>
      <Address>00624F9A</Address>
    </SymbolEntry>
  </UserdefinedSymbols>
  <Comments>Info about this table:
</Comments>
  <DisassemblerComments>
    <DisassemblerComment>
      <Address>"Game.exe"+56700</Address>
      <Comment>camera
</Comment>
    </DisassemblerComment>
    <DisassemblerComment>
      <Address>"Game.exe"+58F51</Address>
      <Comment>Current area investigating for experience.
</Comment>
    </DisassemblerComment>
    <DisassemblerComment>
      <Address>"Game.exe"+78297</Address>
      <Comment>Check for /players being higher than 8 (nopped out)
</Comment>
    </DisassemblerComment>
    <DisassemblerComment>
      <Address>"Game.exe"+7C760</Address>
      <Comment>ret for turn off waypoint gui and discovery


</Comment>
    </DisassemblerComment>
    <DisassemblerComment>
      <Address>"Game.exe"+155487</Address>
      <Comment>Was originally push 04, think this is what changes that back
</Comment>
    </DisassemblerComment>
    <DisassemblerComment>
      <Address>"Game.exe"+1554EF</Address>
      <Comment>7 test unique
</Comment>
    </DisassemblerComment>
    <DisassemblerComment>
      <Address>"Game.exe"+1554F7</Address>
      <Comment>7 test unique (6 before)
</Comment>
    </DisassemblerComment>
    <DisassemblerComment>
      <Address>"Game.exe"+1555A9</Address>
      <Comment>Testing Rarity
2 = common
4 = magic
6 = rare 
7 = unique?
8 = custom (orange)?
9 = set
</Comment>
    </DisassemblerComment>
    <DisassemblerComment>
      <Address>"Game.exe"+15580F</Address>
      <Comment>changed from 7 to 6
</Comment>
    </DisassemblerComment>
    <DisassemblerComment>
      <Address>"Game.exe"+155981</Address>
      <Comment>changes from 6 to 4
</Comment>
    </DisassemblerComment>
    <DisassemblerComment>
      <Address>"Game.exe"+156E2C</Address>
      <Comment>Start of Item Drops
</Comment>
    </DisassemblerComment>
    <DisassemblerComment>
      <Address>"Game.exe"+156E80</Address>
      <Comment>2 / 47
</Comment>
    </DisassemblerComment>
    <DisassemblerComment>
      <Address>"Game.exe"+156E85</Address>
      <Comment>EAX + 4 = Item ID (Can be used to make only certain items drop)
</Comment>
    </DisassemblerComment>
    <DisassemblerComment>
      <Address>"Game.exe"+220574</Address>
      <Comment>Pushing 4 to Item at offset 0, 4 means valid item?
</Comment>
    </DisassemblerComment>
    <DisassemblerComment>
      <Address>"Game.exe"+223A16</Address>
      <Comment>Entity List is held within [ESI]
</Comment>
    </DisassemblerComment>
    <DisassemblerComment>
      <Address>"Game.exe"+233C64</Address>
      <Comment>Highest Item ID is 659, checking for that.
</Comment>
    </DisassemblerComment>
    <DisassemblerComment>
      <Address>"Game.exe"+23CEB5</Address>
      <Comment>[EAX+C] = Pointer 
</Comment>
    </DisassemblerComment>
    <DisassemblerComment>
      <Address>"Game.exe"+2635E8</Address>
      <Comment>ECX + 2 @ 510 = all act WP
</Comment>
    </DisassemblerComment>
  </DisassemblerComments>
</CheatTable>
