Crossfire Weapon & Misc Class(SourceCode)
Code:
Code:
class c_Weapon
{
float Range; //0x748
WORD MaxAmmo; //0x74C
WORD AmmoPerMagazine; //0x74E
WORD NanoMaxAmmo; //0x750
WORD NanoAmmoPerMagazine; //0x752
float AmmoDamage; //0x754 | 1 Hit KO?
DWORD UnlimitedAmmo; //0x758
DWORD TargetSlot; //0x768
BYTE SubType; //0x76C
float DamageFactorByDistance; //0x770
float DamageVariantionFactor; //0x774
BYTE ShotsPerAmmo; //0x790 | Shotgun Spread?
DWORD IsDroppedWhenDie; //0x9AC
float DamageCameraPenalty; //0x1F4C
float MoveSpeedPenalty; //0x1F88 | WeaponWeight?
float ZoomInMoveSpeedPenalty; //0x1F8C | ^
float MovePenaltyForDelayFire; //0x1F90 | ^
BYTE ZoomTargetType; //0x1F94
DWORD ZoomStatusLockFire; //0x1F84
float FireAimMultiplier; //0x1F98
float PrefireAimMultiplier; //0x1F9C
float ZoomInFireAimMultiplier; //0x1FA0
DWORD ShootThroughCharacter; //0x2070
DWORD ShootThroughWall; //0x2074 | Maybe?
DWORD ShootThroughCharacterInNanoMode; //0x2078
DWORD FlipEffect; //0x207C
BYTE BoomType; //0x217C
BYTE BoomDurationDamage; //0x217D
float BoomDamageCheckInterval; //0x2180
float SideEffectDamage; //0x2184
float SideEffectTimeGap; //0x2188
};
DWORD c_weapon = *(DWORD*)(pWepPtr + i * 4);
Misc
Code:
Code:
class c_Misc
{
float DistFallDamageStartFrom; //0x0000
float DamagePerMeter; //0x0004
DWORD PercentageBuyShotgun; //0x0008
DWORD PercentageBuySubMachineGun; //0x000C
DWORD PercentageBuyRifle; //0x0010
DWORD PercentageBuySniperRifle; //0x0014
DWORD PercentageBuyMachineGun; //0x0018
float AIReachPosAcceptableDist; //0x001C
float AIReachPosAcceptableYDist; //0x0020
float AICheckStruckInterval; //0x0024
float AICheckStruckDist; //0x0028
DWORD CheckEnemyIntervalLower; //0x002C
DWORD CheckEnemyIntervalUpper; //0x0030
DWORD DecideActionIntervalLower; //0x0034
DWORD DecideActionIntervalUpper; //0x0038
float PerturbLimitLowerLower; //0x003C
float PerturbLimitLowerUpper; //0x0040
float PerturbLimitUpperLower; //0x0044
float PerturbLimitUpperUpper; //0x0048
float PerturbLimitLowerMultiplierNormal; //0x004C
float PerturbLimitUpperMultiplierNormal; //0x0050
float CheckEnemyIntervalMultiplierNormal; //0x0054
float DecideActionIntervalMultiplierNormal; //0x0058
float PerturbLimitLowerMultiplierHigher; //0x005C
float PerturbLimitUpperMultilpierHigher; //0x0060
float CheckEnemyIntervalMultiplierHigh; //0x0064
float DecideActionIntervalMultiplierHigh; //0x0068
DWORD ReactionTimeLimitOnDamaged; //0x006C
float LookAtAddAmountWhenDamagedX; //0x0070
float LookAtAddAmountWhenDamagedY; //0x0074
float LookAtAddAmountWhenDamagedZ; //0x0078
DWORD ReloadTime; //0x007C
DWORD TimeChangeRandomShootPointWhenBlinded; //0x0080
DWORD AddAmountRandomShootPointWhenBlinedX; //0x0084
DWORD AddAmountRandomShootPointWhenBlinedY; //0x0088
DWORD AddAmountRandomShootPointWhenBlinedZ; //0x008C
DWORD TimeChangeRandomGotoPointWhenBlinded; //0x0090
DWORD AddAmountRandomGotoPointWhenBlinedX; //0x0094
DWORD AddAmountRandomGotoPointWhenBlinedY; //0x0098
DWORD AddAmountRandomGotoPointWhenBlinedZ; //0x009C
DWORD PercentageLookOutWhenAttackTargetDisappeared; //0x00A0
DWORD PercentageGotoPosWhenAttackTargetDisappeared; //0x00A4
DWORD PercentageBuyWeaponWhenAlreadyHasOne; //0x00A8
DWORD TimeToResetGunDirRotWhenMoving; //0x00AC
DWORD TimeToResetGunDirRotWhenAttacking; //0x00B0
DWORD MoveXZSpeedLimitNormal; //0x00B4
DWORD MoveXZSpeedLimitLadder; //0x00B8
DWORD RepeatJumpTimeLimit; //0x00BC
float CheckEnemyInTheBackDotLimit; //0x00C0
float CheckEnemyInTheBackDotLimitNormal; //0x00C4
float CheckEnemyInTheBackDotLimitHigh; //0x00C8
DWORD KillNumMultiplierWhenCheckingEnemyThreatened; //0xCC
float VeryCloseDistWhenAttacking; //0x00D0
float VeryFarDistWhenAttacking; //0x00D4
DWORD PercentageJumpWhenAttack; //0x00D8
DWORD PercentageJumpWhenMoving; //0x00DC
DWORD AttackShootingSniperVariationTimeLower; //0x00E0
DWORD AttackShootingSniperVariationTimeUpper; //0x00E4
DWORD AttackShootingOtherVariationTimeLower; //0x00E8
DWORD AttackShootingOtherVariationTimeUpper; //0x00EC
DWORD AttackAimingSniperVariationTimeLower; //0x00F0
DWORD AttackAimingSniperVariationTimeUpper; //0x00F4
DWORD AttackAimingOtherVariationTimeLower; //0x00F8
DWORD AttackAimingOtherVariationTimeUpper; //0x00FC
DWORD AttackAimingOtherVariationTimeLowerVeryClose; //0x0100
DWORD AttackAimingOtherVariationTimeUpperVeryClose; //0x0104
DWORD PercentageRunningWhenMoving; //0x0108
DWORD PercentageRunningBackwardWhenMoving; //0x010C
DWORD PercentageWalkingWhenMoving; //0x0110
DWORD MaxMoveDurationLower; //0x0114
DWORD MaxMoveDurationUpper; //0x0118
//Incomplete
};