void injectRallyHooks() {
		jmpPatch(orderNewUnitToRallyWrapper, Hook_OrderNewUnitToRally);
		callPatch(setRallyPositionWrapper_Call, Hook_SetRallyPosition_Call);
		jmpPatch(setRallyPositionWrapper_Jmp1, Hook_SetRallyPosition_Jmp1);
		jmpPatch(setRallyPositionWrapper_Jmp2, Hook_SetRallyPosition_Jmp2);
		callPatch(setRallyUnitWrapper_Call, Hook_SetRallyUnit_Call);
		jmpPatch(setRallyUnitWrapper_Jmp1, Hook_SetRallyUnit_Jmp1);
		jmpPatch(setRallyUnitWrapper_Jmp2, Hook_SetRallyUnit_Jmp2);
	}
	void injectCloakingTechHooks() {
		jmpPatch(cloakingTechWrapper_IsCloaked, 0x00429210);
		jmpPatch(cloakingTechWrapper_CanCloak, 0x004292C0);
		jmpPatch(cloakingTechWrapper_CMDRECV_Cloak, 0x004C0720);
		jmpPatch(cloakingTechWrapper_AI_cloakUnit, 0x0043B970);
		jmpPatch(cloakingTechWrapper_CMDRECV_Decloak, 0x004C0660);
		jmpPatch(getCloakingTechWrapper, 0x00491A50);
		jmpPatch(currentUnitSelectionCanCloakWrapper, 0x00423540);
	}
	void injectUpdateUnitState() {
		jmpPatch(updateUnitStateWrapper, Hook_UpdateUnitState);
	}
void injectArmorBonusHook() {
  jmpPatch(getArmorBonusWrapper, Func_GetArmorBonus);
}
void injectPsiFieldHooks() {
  jmpPatch(showAllPsiFieldsOnSelectWrapper,   0x004E6224);
  jmpPatch(hideAllPsiFieldsOnUnselectWrapper, 0x004E62BE);
  jmpPatch(packUnitData_PsiProvider,          0x004E3935);
  jmpPatch(unpackUnitData_PsiProvider,        0x004E3182);
}
	void injectDetectorHooks() {
		jmpPatch(unitCanDetectWrapper, Func_CanDetect);
		memoryPatch(0x0044118E, &getCloakedTargetVisibilityWrapper);
		memoryPatch(0x004411A6, &getCloakedTargetVisibilityWrapper);
	}
	void injectUnitMaxEnergyHook() {
		jmpPatch(getUnitMaxEnergyWrapper, Func_GetMaxEnergy);
	}
void injectWeaponDamageHook() {
    jmpPatch(weaponDamageWrapper, Func_DoWeaponDamage);
}
void injectWeaponFireHooks() {
  jmpPatch(fireWeaponWrapper, Func_FireUnitWeapon);
}
	void injectWeaponRangeHooks() {
		jmpPatch(getSeekRangeWrapper, Func_GetSeekRange);
		jmpPatch(getMaxWeaponRangeWrapper, Func_GetMaxWeaponRange);
	}
void injectSpellcasterAI() {
  jmpPatch(AI_spellcasterWrapper, 0x004A13C0);
}
void injectUpdateUnitTimers() {
  jmpPatch(updateUnitTimersWrapper, Hook_UpdateUnitTimers);
}