NPC Offsets
Information
- All offsets are for files from the official 1.1 patch.
- Numbers are in hexadecimal, or suffixed to indicate their type:
Suffix | Type | Size |
---|---|---|
f | float | 4 bytes |
d | double | 8 bytes |
i | integer | 4 bytes |
b | byte | 1 byte (-128 to 127) |
A value like "0F 85 -> 90 E9" means replace the original bytes on the left with the new bytes on the right. (The bytes are given in file order, they don't represent a number like the offset.)
Spawning
Default Value | File | Offset | By | Description |
---|---|---|---|---|
100d | content.dll | 11BC78 | fox | Initial NPC min spawn distance in SP and MP (such as after respawn). |
1775d | content.dll | 11BC80 | Dev | Initial NPC max spawn distance in SP and MP (such as after respawn). |
2500d | content.dll | 11BC68 | Dev | NPC max spawn distance in SP and MP. |
2500f | content.dll | 0D3C36 | fox | Maximum distance that NPCs will persist in SP. |
2500f | content.dll | 0D3D6E | Dev | Maximum distance that NPCs will persist in MP. |
3750f | content.dll | 058F46 | Dev | Distance over which NPC spawning will ignore density cap in SP. |
7500f | content.dll | 117A68 | Dev | Distance over which NPC spawning will ignore density cap in MP (in other words, players within this distance to another player will "share spawns" with that player, and must move this distance away from other players for FLServer to start spawning NPCs for him/her). |
3.0f | content.dll | 0BA57A | adoxa | SpacePop 'heartbeat' interval in seconds. I.e. how often the game 'rolls' to spawn an encounter based on repop time and density. |
Patrol Paths
Default Value | File | Offset | By | Description |
---|---|---|---|---|
200f | content.dll | 118578 | Vital | Multiplier for patrol_path spawn distances, double this to double patrol_path spawn ranges; use this in tandem with below to raise patrol_path spawn ranges. |
2500f | content.dll | 0C4974 | fox | Patrol_path NPC min spawn distance check, patrol_path spawns below this distance will be rejected; use this in tandem with above to raise patrol_path spawn ranges. |
2000f | content.dll | 0BB1DA | Vital | Distance from the zone (or from the edge of the patrol_path) that encounters begin to spawn - this is not from the center of the patrol; if your patrol has a radius of 750, encounters will spawn 2750 away from the central axis of the patrol; if your zone is a sphere with 4000 radius encounters start spawning 6000 (4000 + 2000) away from the centre of the zone. |
2500f | content.dll | 0C48D7 | Vital | Distance that patrol_path NPCs spawn when players are close to each other in patrol path. |
Tradelanes
Default Value | File | Offset | By | Description |
---|---|---|---|---|
1400i | content.dll | 0D8AAF | Vital | Distance from a disrupted trade lane that tradelaneattackers are created |
2000f | content.dll | 0BB1DA | Vital | Distance from the last tradelane ring that FL will generate NPCs from when you enter tradelane. |
4000f | content.dll | 0D3D93 | Vital | Distance from the last tradelane ring that patrol path npcs created when you enter tradelane will still exist. |
1200f | content.dll | 11BB58 | Vital | Distance from the last tradelane ring that patrol path npcs are created (2750 and more, no npcs are created(unless patrol_path spawn distance is raised?)). |
3750f | content.dll | 0C5D53 | Vital | Distance from the tradelane ring (except the nearest one) at which npcs with arrival = tradelane encounters are created (negative numbers accepted, though terminal rings will act up) - there are more 3750f values in content.dll which may be relevant. |
5000i | content.dll | 0C2946 | Vital | Minimum spawn distance for tradelane NPCs, tradelane spawns below this distance will be rejected and transferred to the next ring instead. |
Behavior
Default Value | File | Offset | By | Description |
---|---|---|---|---|
5000f | common.dll | 140810 | Dev | Max range at which NPCs will engage enemies; don't forget to increase the range at which NPCs will engage in pilots_population as well (attack_preference under JobBlock). |
10000f | server.dll | 0A8AF0 | FriendlyFire | Maximum AI firing range. |
2i | common.dll | 18C754 | adoxa | First value of Act_PlayerEnemyClamp, used to determine the amount of enemy NPCs that will attack the player. |
2i | common.dll | 18C758 | adoxa | Second value of Act_PlayerEnemyClamp, used to determine the amount of enemy NPCs that will attack the player. |
7E 31 -> EB 39 | common.dll | 08E86A | adoxa | Alternative to above: disable PlayerEnemyClamp altogether; instead making NPC enemy target selection random. |
74 -> EB | common.dll | 08E6D8 | adoxa | Remove FIGHTER / FREIGHTER testing on Player for attack_preference in JobBlocks. |
04 -> 00 | common.dll | 13E52C | adoxa | NPCs use scanner (enables CMs). |
5000f | content.dll | 0D0630 11BD10 | Dev | Max range at which NPCs will go hostile upon seeing their allies go hostile (both offsets must be changed). |
500i | content.dll | 06C470 | Dev | Max range at which NPCs will scan your cargo. |
2500f | content.dll | 06C717 | Dev | Max range at which NPCs will initiate scan of your cargo. |
500f | content.dll | 0C4C01 | Gold_Sear M0tah | Min distance from player position at spawn moment that an NPC patrol with arrival = cruise will fly to when spawned. |
2000f | content.dll | 0C4C06 | Gold_Sear M0tah | Max distance from player position at spawn moment that an NPC patrol with arrival = cruise will fly to when spawned. |
25000000f | content.dll | 1195D4 | Vital | Square of the distance from the end of the patrol_path to the object over which patrol_path NPCs won't dock with it (so far tested only with jumpgates; raising this may prevent PP crashes?). |
200f | common.dll | 07AE5E | Vital | Unknown, increasing this to 1000f and more makes patrol_path NPCs stand still after spawn (side note by fox: this range seems to also denote the range which MsnRandEnc ships spawned with story scripting cut cruise and engage targets; if you're spawning ships with MsnRandEnc, try increasing this to make them more combat-effective). |
0.0001f | common.dll | 13E518 | adoxa | Nudge_force sensitivity (higher = less auto-dodging from autopilot and AI). |
1.5f | common.dll | 13E6D0 | fox | Autopilot helper value used by all AI functions, including NPC maneuvering and player autopilot; generally, set lower for a more accurate and picky autopilot (beware, has massive effect on how AI handle and may break your NPCs, so be very careful!). |
50f | common.dll | 13E6D4 | fox | Default follow offset for following NPCs using FollowOp; a following NPC is to the right by default, but will appear to the left, below, and above after jumping systems. |
54 72 61 69 6C 4F 70 40 41 49 40 70 75 62 40 40 51 41 45 40 58 5A 00 -> 46 6F 6C 6C 6F 77 4F 70 40 41 49 40 70 75 62 40 40 51 41 45 40 58 5A | content.dll | 129058 | fox | Replace TrailOp behavior with FollowOp behavior (very useful for wingmen addon here). |
33 FF 89 7C 24 -> E9 23 F9 FF FF | content.dll | 085D6F | adoxa | Replace TrailOp behavior with FollowOp behavior (alternate method, Part 1). |
06 -> 07 | content.dll | 06CDF5 | adoxa | Replace TrailOp behavior with FollowOp behavior (alternate method, Part 2). |
14 -> 4C | content.dll | 06CE24 | adoxa | Replace TrailOp behavior with FollowOp behavior (alternate method, Part 3). |
18 -> 50 | content.dll | 0875BC | adoxa | Replace TrailOp behavior with FollowOp behavior (alternate method, Part 4). |
1C -> 54 | content.dll | 0875C2 | adoxa | Replace TrailOp behavior with FollowOp behavior (alternate method, Part 5). |
7A 19 -> 90 90 | common.dll | 08C331 | Gold_Sear | Make formation leader independent of escorts (this will make formation leaders able to flee) Part 1. |
DC 0D 88 DF 39 06 -> 90 90 90 90 90 90 | common.dll | 08C35C | Gold_Sear | Make formation leader independent of escorts (this will make formation leaders able to flee) Part 2. |
7A 23 -> 90 90 | common.dll | 08C4D3 | Gold_Sear | Make formation leader independent of escorts (this will make formation leaders able to flee) Part 3. |
75 12 -> 90 90 | common.dll | 08C4E4 | Gold_Sear | Make formation leader independent of escorts (this will make formation leaders able to flee) Part 4. |
500f | common.dll | 06C017 | Gold_Sear M0tah | Distance ahead of formation leader escorts "anticipate" to go to when catching up in cruise (decrease this to make escorts go in a straighter line towards the leader, but setting this too low causes them swing back and forth after a minor turn). |
500f | common.dll | 075B36 | Gold_Sear | Distance from formation leader an escort will cruise to (before dropping out of cruise) when the leader is not cruising, as well as cruise catch up trail range. |
200f | common.dll | 06C00D | M0tah | Increase this to enable large formations to dock with jumpgate (raise with caution). |
07 -> 00 | common.dll | 08ADD7 | adoxa | Disable NPC firing timing delay. |
83 EC 34 53 56 -> B0 01 C2 04 00 | common.dll | 038590 | adoxa | Adjusts CEGun::CanSeeTargetObject, allowing NPCs to 'see' everything. Has a pretty significant impact on firing behavior. |
0.0523599f | common.dll | 08A185 08AE95 | adoxa | NPC muzzle cone angle (radians) (both offsets must be changed). |
03 -> 7F | common.dll | 66148 | Aingar | Force NPCs to use correct chase behavior for shiptypes that are not FIGHTER or FREIGHTER |
84 C0 -> 90 90 | common.dll | 763B6 | Venemon | Formation Members will use their thrusters |
33 F6 -> B3 04 | freelancer.exe | CF4E6 | Venemon | Contact list switch before launch (00 important, 01 ships, 02 solar, 03 loot, 04 all) |
89 B5 -> 89 9D | freelancer.exe | CF500 | Venemon | Contact list switch part 2 |
89 B5 -> 89 8D | freelancer.exe | CF4EF | Venemon | Contact list switch part 3 |
89 B5 -> 89 8D | freelancer.exe | CF517 | Venemon | Contact list switch part 4 |
3000f | freelancer.exe | 1D95A8 | Venemon | Distance in which player names will appear |