<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="34">
  <CheatEntries>
    <CheatEntry>
      <ID>57</ID>
      <Description>"no weapon overheat"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
halo1.dll+B79559:
db 90 90 90 90
 
 
[DISABLE]
halo1.dll+B79559:
db F3 0F 11 00
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>59</ID>
      <Description>"infinite plasma ammo"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
halo1.dll+B795BA:
db 90 90 90 90 90

 
 
[DISABLE]
halo1.dll+B795BA:
db F3 44 0F 11 08
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>60</ID>
      <Description>"bottomless clip"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]

aobscanmodule(current_mag,halo1.dll,66 44 2B CF 66 45 89 4A 0A) // should be unique
alloc(newmem,$1000,current_mag)


label(return)

newmem:
  sub r9w,0
  mov [r10+0A],r9w
  jmp return


current_mag:
  jmp newmem
  nop 4
return:
registersymbol(current_mag)

[DISABLE]

current_mag:
  db 66 44 2B CF 66 45 89 4A 0A

unregistersymbol(current_mag)
dealloc(newmem)
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>61</ID>
      <Description>"infinite grenades"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
halo1.dll+B0A330:
db 90 90 90 90 90 90 90

 
 
[DISABLE]
halo1.dll+B0A330:
db FE 8C 1A FC 02 00 00
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>62</ID>
      <Description>"infinite shields"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
halo1.dll+BA0475:
db 90 90 90 90
 
[DISABLE]
halo1.dll+BA0475:
db F3 0F 5C CA
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>89</ID>
      <Description>"infinite health"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]

aobscanmodule(health,halo1.dll,F3 0F 11 83 9C 00 00 00 EB)
alloc(newmem,$1000,health)

label(code)
label(return)

newmem:
  cmp [rbx+e80],0
  jne code
  jmp return
code:
  movss [rbx+0000009C],xmm0
  jmp return

health:
  jmp newmem
  nop 3
return:
registersymbol(health)

[DISABLE]

health:
  db F3 0F 11 83 9C 00 00 00

unregistersymbol(health)
dealloc(newmem)

</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>90</ID>
      <Description>"damage reduction and damage multiplier"</Description>
      <Options moHideChildren="1"/>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]

aobscanmodule(damage,halo1.dll,F3 0F 5C C6 F3 0F 11 83 9C 00 00 00)
alloc(newmem,$1000,damage)
alloc(divider,4)
alloc(multiplier,4)
label(code)
label(return)

multiplier:
dd (float)1

registersymbol(multiplier)

divider:
dd (float)1

registersymbol(divider)
newmem:
  cmp [rbx+e80],0
  jne code
  divss xmm6, dword ptr[divider]
  subss xmm0,xmm6
  movss [rbx+0000009C],xmm0
  jmp return
code:
  mulss xmm6,dword ptr[multiplier]
  subss xmm0,xmm6
  movss [rbx+0000009C],xmm0
  jmp return

damage:
  jmp newmem
  nop 7
return:
registersymbol(damage)

[DISABLE]

damage:
  db F3 0F 5C C6 F3 0F 11 83 9C 00 00 00

unregistersymbol(damage)
unregistersymbol(divider)
unregistersymbol(multiplier)
dealloc(multiplier)
dealloc(divider)
dealloc(newmem)

</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>91</ID>
          <Description>"defense multiplier (effects your defense)"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Float</VariableType>
          <Address>divider</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>92</ID>
          <Description>"damage multiplier (effects damage enemies recieve)"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Float</VariableType>
          <Address>multiplier</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>74</ID>
      <Description>"reduced weapoon spread"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
halo1.dll+B75B16:
db 90 90 90 90 90 90 90 90 90
 
[DISABLE]
halo1.dll+B75B16:
db F3 0F 11 84 1F 44 02 00 00
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>110</ID>
      <Description>"increase movement speed"</Description>
      <Options moHideChildren="1"/>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]

aobscanmodule(test_speed,halo1.dll,F2 0F 10 42 0C F2 41)
alloc(newmem,$1000,test_speed)
alloc(speed,4)
label(code)
label(return)

speed:
dd (float)1

registersymbol(speed)

newmem:
  cmp [rdx+518],1
  jne code
  movsd xmm0,[rdx+0C]
  mulss xmm0,[speed]
  jmp return
code:
  movsd xmm0,[rdx+0C]
  jmp return

test_speed:
  jmp newmem
return:
registersymbol(test_speed)

[DISABLE]

test_speed:
  db F2 0F 10 42 0C

unregistersymbol(test_speed)
unregistersymbol(speed)
dealloc(speed)
dealloc(newmem)

</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>111</ID>
          <Description>"movement speed multiplier"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Float</VariableType>
          <Address>speed</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>115</ID>
      <Description>"super jump"</Description>
      <Options moHideChildren="1"/>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]


aobscanmodule(jump_height,halo1.dll,89 53 2C 44 88 B3 10 05 00 00)
alloc(newmem,$1000,jump_height)
alloc(jump,4)
label(code)
label(return)
jump:
dd (float)0.1

registersymbol(jump)

newmem:
  mov edx,[jump]
  mov [rbx+2C],edx
  mov [rbx+00000510],r14l
  jmp return
code:
  mov [rbx+2C],edx
  mov [rbx+00000510],r14l
  jmp return

jump_height:
  jmp newmem
  nop 5
return:
registersymbol(jump_height)

[DISABLE]

jump_height:
  db 89 53 2C 44 88 B3 10 05 00 00

unregistersymbol(jump_height)
unregistersymbol(jump)
dealloc(jump)
dealloc(newmem)

</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>116</ID>
          <Description>"jump height (use decimals)"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Float</VariableType>
          <Address>jump</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
</CheatTable>
