Skip to content

Multiple regions npc and spawn adjustments 1 - #1178

Open
V0lcanic wants to merge 3 commits into
GregHib:mainfrom
V0lcanic:multiple-regions-npc-and-spawn-adjustments
Open

Multiple regions npc and spawn adjustments 1#1178
V0lcanic wants to merge 3 commits into
GregHib:mainfrom
V0lcanic:multiple-regions-npc-and-spawn-adjustments

Conversation

@V0lcanic

Copy link
Copy Markdown
Contributor

These npc and spawn changes bring the game closer to how it originally was in 2011 revision 634, along with a few fixes. This primarily covers the Lumbridge and Draynor regions.

Changed:
draynor.npcs-spawns.toml
-Added a new gull_draynor spawn. Source: osrs.world 634.
-Adjusted the spawn locations of gull_draynor and gull_draynor_2. Source: osrs.world 634, https://www.youtube.com/watch?v=xY6cIEoNP1A 1:16.

falador.npc-spawns.toml
-Added 2 missing highwayman. Source: osrs live server, https://www.youtube.com/watch?v=g-KKKt5HV60.
-Added missing pigs to Sarah's farm and corrected the existing model that was there previously. Source: osrs.world 634, https://www.youtube.com/watch?v=z7yeZ8ztPqo 0:11, https://www.youtube.com/watch?v=g2EaPwHIavw 0:43.
-Adjusted the location of chicken_falador_* spawns to match 2011. Source: osrs.world 634, https://www.youtube.com/watch?v=4lJGZDrfE_0, https://www.youtube.com/watch?v=RGJ8QyKHTmI.
-Adjusted the location of rooster_falador to its proper location. Source: https://www.youtube.com/watch?v=4lJGZDrfE_0.
-Adjusted the location of dog spawn. Source: osrs.world 634, osrs live server.
-Adjusted the amount of ducklings and ducks in the moat to match 2011. Source: osrs live server, https://www.youtube.com/watch?v=AzUMggjzaFU 3:47.
-Corrected the number of cows in Sarah's farm. Source: osrs live server (still seems to be using rs2 spawns for most npcs here), https://www.youtube.com/watch?v=jqAmLW2M94o.
-Removed 2 swimming duck spawns. It seemed to be in the wrong region and not on the correct tiles. Source: osrs.world 634, https://www.youtube.com/watch?v=4lJGZDrfE_0.

freds_farm.npc-spawns.toml
-Added goblin_machete_orange after discovering new evidence. Source: https://www.youtube.com/watch?v=BoSFtTZhQds 5:27, https://www.youtube.com/watch?v=EV0xHIihjTo 1:30.
-Added goblin_spear_green after discovering new evidence. Source: https://www.youtube.com/watch?v=zJQS-7HNjuE, https://www.youtube.com/watch?v=vs_dYJKvQFg 6:54, https://www.youtube.com/watch?v=XhUMSasgU2s 11:29, https://www.youtube.com/watch?v=EV0xHIihjTo 1:24. The spawn location was implemented using sources and guesswork.
-Added a farmer spawn in the potato field. Source: https://www.youtube.com/watch?v=BmxCYmTCFPM 5:05, https://www.youtube.com/watch?v=qAgWJh4wpVc 3:53. The spawn location was implemented using the sources and guesswork.
-Added a farmer spawn north of the potato field. Source: osrs live server, https://www.youtube.com/watch?v=vs_dYJKvQFg 4:35.
-Removed the ducks in and around the potato field. Source: https://www.youtube.com/watch?v=qAgWJh4wpVc 3:52.

lumbridge.npc-spawns.toml
-Reverted 2 giant rat spawns behind Lumbridge castle after discovering new evidence. The original spawn count of 8 was correct; I wasn't able to confirm until finding a video from early Feb 2011. The number of models and amount of giant rats should now be the same as it was in 2011. Source: https://www.youtube.com/watch?v=9f8r5_Hp0k8 13:22.
-Added 2 goblin_turquoise_topless_mohawk spawns east of freds farm after discovering new evidence. Source: https://www.youtube.com/watch?v=JHMftOwD0qY 3:13, https://www.youtube.com/watch?v=gTBLFXMMW14 35:52, https://www.youtube.com/watch?v=GDyiP_yazkE 1:44.
-Added 2 giant spider spawns behind Lumbridge castle after discovering new evidence. Source: osrs.world, osrs live server, https://www.youtube.com/watch?v=Fn5su5dHtVo 2:19, https://www.youtube.com/watch?v=YonvRnpvadk 2:29.
-Added spider spawns around the H.A.M. hideout. Source: osrs.world 634, https://www.youtube.com/watch?v=EV0xHIihjTo 3:33, https://www.youtube.com/watch?v=sbKFCSxhj-Y.
-Added a missing unicorn spawn. Source: osrs.world 634, osrs live server, https://www.youtube.com/watch?v=-nbg7kY3OQs, https://www.youtube.com/watch?v=PjiohxXXuXU 0:23.
-Adjusted the spawn locations of crows to help their wandering behaviour become closer to how it was in 2011; this also stops them from bunching up and getting stuck outside the northeastern fencing. I've applied the changes with slight guesswork. Source: osrs.world 736 cache, https://www.youtube.com/watch?v=Vh8gZ1oenVQ, https://www.youtube.com/watch?v=aGPeoToyOjs 8:21.
-Adjusted the giant spider spawns near the H.A.M. hideout to be closer to 2011. Source: osrs.world 634, youtube videos from 2010-2011.
-Adjusted goblin spawns behind Lumbridge castle; they should now be the same as early 2011. Their spawn locations moved closer to the campfire once it was added to the map. Sources: https://www.youtube.com/watch?v=w0E4hnEJkGo, https://www.youtube.com/watch?v=31e99OrCjbE 3:33, https://www.youtube.com/watch?v=HpIdOUz4buw, https://www.youtube.com/watch?v=Fn5su5dHtVo.
-Adjusted the goblin models and spawn locations south of Draynor jail to be closer to 2011. Source: osrs.world 634 was used for spawn locations; https://www.youtube.com/watch?v=w0E4hnEJkGo 3:15 used for accurate models, https://www.youtube.com/watch?v=Fn5su5dHtVo 3:50.

varrock.npc-spawns.toml
-Added new npc farquie. Source: https://runescape.wiki/w/Farquie_the_Cleaner, https://www.youtube.com/watch?v=riuuozz0FUo The yellow dot doesn't move and is in the same spot that Farquie is in the wiki, so it's safe to assume this is the correct npc placement for Farquie.

-Adjusted a few cow_calf_* and cow_* spawns to match 2011. Source: https://www.youtube.com/watch?v=qreoUtJ9A68.
-Adjusted many duck_*_swim spawns to match 2011 better. Source: https://www.youtube.com/watch?v=BPefdT8H_YY 0:49, https://www.youtube.com/watch?v=41wY02ass_w 1:28, https://www.youtube.com/watch?v=7gurEiVUWtM 5:19.

Other changes:
Wander.kt

-Updated Wander.kt so NPC wandering can be enabled by data config via wander_range instead of depending only on the cache walkMode. If an NPC has a wander_range entry in npc_ranges, the engine now treats that as the source of truth for whether it should random-walk. This lets data-defined NPCs like the Draynor gulls roam correctly even when their cache walk mode does not mark them as wanderers. Co-Authored by Copilot

draynor.npcs.toml
-Added collision = "sky" to the gull npc definitions. This fixes Draynor gulls never moving, they can now fly around again.

Cows.kt
-Updated cow idle behavior so the eat_grass timer can trigger while cows are wandering. This fixes cows never mooing or playing the grass-eating animation because the engine was switching them out of EmptyMode before the timer tick ran. Co-Authored by Copilot

LumbridgeGuardsmanAttackable.kt
-Updated the new giant rat IDs into the list for attackable npc targets. This makes the Lumbridge guardsman be able to target and attack giant rats again.

goblin_village.npc-spawns.toml
-Moved 2 goblin spawns at goblin village. This prevents one from spawning stuck on a tile beneath a flag and the other from spawning in the air.

spider.npcs.toml
-Corrected the giant spider hitpoints to 67 after discovering new evidence. Source: https://www.youtube.com/watch?v=sbKFCSxhj-Y 0:25.

falador.npcs.toml
-Added pig_3, pig_4, piglet_4, piglet_5.
-Fixed the swan_falador not being able to move by giving it collision = "sea".
-Fixed the chicken_falador_* not being able to respawn.
-Changed the highwayman_falador hunt_mode to "highwayman".

FredsFarmGoblin.kt
-Added a dialogue and behaviour similar to rs2. A bit of guess work went into the interaction due to only having one source. Sources: https://runescape.wiki/w/Transcript:Goblin_(Goblin_Village), https://www.youtube.com/watch?v=BoSFtTZhQds.

goblin.npcs.toml
-Added new goblin type goblin_machete_orange.
-Added new goblin type goblin_spear_green.
-Changed the goblin hitpoints to 67 after discovering new evidence. Source: https://www.youtube.com/watch?v=-l5y9HL7kCQ.
-Changed the goblin_orange_hat_spear hitpoints to 160 after discovering new evidence. Source: https://www.youtube.com/watch?v=plYKgRXXSdY.

gnome.npcs.toml
-Added new gnome Farquie. Source: https://runescape.wiki/w/Farquie_the_Cleaner, https://runescape.wiki/w/Gnomecopter_Tours.

cow.npcs.toml
-Corrected the cow_default hitpoints to 107 after discovering new evidence. Source: https://www.youtube.com/watch?v=XiV4OX_R7_k 2:11, https://www.youtube.com/watch?v=MxorRK-wJ1Y.

-Corrected the cow_calf hitpoints to 69 after discovering new evidence. Source: https://www.youtube.com/watch?v=R1Ikv5I1VmM 1:56.

wander_ranges.tables.toml
-Added "cow_calf" and gave cow_2, cow_brown_2, cow_calf_2, cow_calf_3, a wander range of 4. This fixes them never moving.
-Added wander ranges to pig_3, pig_4, piglet_4, piglet_5. This fixes them never moving.
-Added wander ranges to swan_falador. This fixes them never moving.
-Added wander ranges to gull_draynor, gull_draynor_2. This fixes them never moving.

Highwayman.kt
-This makes all highwayman npcs behave closer to how they did in 2011, a very basic implementation.

sinclair_mansion.npcs.toml
-Changed the highwayman_sinclair_mansion, highwayman_no_hood hunt_mode to "highwayman".

freds_farm.npcs.toml
-Added farmer_2.

hunt_modes.toml
-Added [highwayman].

pickpocket.tables.toml
-Added farmer_2 with type = farmer.

Copilot and others added 3 commits August 15, 2026 11:42
…y was in 2011 revision 634, along with a few fixes.

Changed:
draynor.npcs-spawns.toml
-Added a new gull_draynor spawn. Source: osrs.world 634.
-Adjusted the spawn locations of gull_draynor and gull_draynor_2. Source: osrs.world 634, https://www.youtube.com/watch?v=xY6cIEoNP1A 1:16.

falador.npc-spawns.toml
-Added 2 missing highwayman. Source: osrs live server, https://www.youtube.com/watch?v=g-KKKt5HV60.
-Added missing pigs to Sarah's farm and corrected the existing model that was there previously. Source: osrs.world 634, https://www.youtube.com/watch?v=z7yeZ8ztPqo 0:11, https://www.youtube.com/watch?v=g2EaPwHIavw 0:43.
-Adjusted the location of chicken_falador_* spawns to match 2011. Source: osrs.world 634, https://www.youtube.com/watch?v=4lJGZDrfE_0, https://www.youtube.com/watch?v=RGJ8QyKHTmI.
-Adjusted the location of rooster_falador to its proper location. Source: https://www.youtube.com/watch?v=4lJGZDrfE_0.
-Adjusted the location of dog spawn. Source: osrs.world 634, osrs live server.
-Adjusted the amount of ducklings and ducks in the moat to match 2011. Source: osrs live server, https://www.youtube.com/watch?v=AzUMggjzaFU 3:47.
-Corrected the number of cows in Sarah's farm. Source: osrs live server (still seems to be using rs2 spawns for most npcs here), https://www.youtube.com/watch?v=jqAmLW2M94o.
-Removed 2 swimming duck spawns. It seemed to be in the wrong region and not on the correct tiles. Source: osrs.world 634, https://www.youtube.com/watch?v=4lJGZDrfE_0.

freds_farm.npc-spawns.toml
-Added goblin_machete_orange after discovering new evidence. Source: https://www.youtube.com/watch?v=BoSFtTZhQds 5:27, https://www.youtube.com/watch?v=EV0xHIihjTo 1:30.
-Added goblin_spear_green after discovering new evidence. Source: https://www.youtube.com/watch?v=zJQS-7HNjuE, https://www.youtube.com/watch?v=vs_dYJKvQFg 6:54, https://www.youtube.com/watch?v=XhUMSasgU2s 11:29, https://www.youtube.com/watch?v=EV0xHIihjTo 1:24. The spawn location was implemented using sources and guesswork.
-Added a farmer spawn in the potato field. Source: https://www.youtube.com/watch?v=BmxCYmTCFPM 5:05, https://www.youtube.com/watch?v=qAgWJh4wpVc 3:53. The spawn location was implemented using the sources and guesswork.
-Added a farmer spawn north of the potato field. Source: osrs live server, https://www.youtube.com/watch?v=vs_dYJKvQFg 4:35.
-Removed the ducks in and around the potato field. Source: https://www.youtube.com/watch?v=qAgWJh4wpVc 3:52.

lumbridge.npc-spawns.toml
-Reverted 2 giant rat spawns behind lumbridge castle after discovering new evidence. The original spawn count of 8 was correct; I wasn't able to confirm until finding this video from early Feb 2011. The number of models and amount of giant rats should now be the same as it was in 2011. Source: https://www.youtube.com/watch?v=9f8r5_Hp0k8 13:22.
-Added 2 goblin_turquoise_topless_mohawk spawns east of freds farm after discovering new evidence. Source: https://www.youtube.com/watch?v=JHMftOwD0qY 3:13, https://www.youtube.com/watch?v=gTBLFXMMW14 35:52, https://www.youtube.com/watch?v=GDyiP_yazkE 1:44.
-Added 2 giant spider spawns behind lumbridge castle after discovering new evidence. Source: osrs.world, osrs live server, https://www.youtube.com/watch?v=Fn5su5dHtVo 2:19, https://www.youtube.com/watch?v=YonvRnpvadk 2:29.
-Added spider spawns around the H.A.M. hideout. Source: osrs.world 634, https://www.youtube.com/watch?v=EV0xHIihjTo 3:33, https://www.youtube.com/watch?v=sbKFCSxhj-Y.
-Added a missing unicorn spawn. Source: osrs.world 634, osrs live server, https://www.youtube.com/watch?v=-nbg7kY3OQs, https://www.youtube.com/watch?v=PjiohxXXuXU 0:23.
-Adjusted the spawn locations of crows to help their wandering behaviour become closer to how it was in 2011; this also stops them from bunching up and getting stuck outside the northeastern fencing. I've applied the changes with slight guesswork. Source: osrs.world 736 cache, https://www.youtube.com/watch?v=Vh8gZ1oenVQ, https://www.youtube.com/watch?v=aGPeoToyOjs 8:21.
-Adjusted the giant spider spawns near the H.A.M. hideout to be closer to 2011. Source: osrs.world 634, youtube videos from 2010-2011.
-Adjusted goblin spawns behind lumbridge castle; they should now be the same as early 2011. Their spawn locations moved closer to the campfire once it was added to the map. Sources: https://www.youtube.com/watch?v=w0E4hnEJkGo, https://www.youtube.com/watch?v=31e99OrCjbE 3:33, https://www.youtube.com/watch?v=HpIdOUz4buw, https://www.youtube.com/watch?v=Fn5su5dHtVo.
-Adjusted the goblin models and spawn locations south of draynor jail to be closer to 2011. Source: osrs.world 634 was used for spawn locations; https://www.youtube.com/watch?v=w0E4hnEJkGo 3:15 used for accurate models, https://www.youtube.com/watch?v=Fn5su5dHtVo 3:50.

varrock.npc-spawns.toml
-Added new npc farquie. Source: https://runescape.wiki/w/Farquie_the_Cleaner, https://www.youtube.com/watch?v=riuuozz0FUo The yellow dot doesn't move and is in the same spot that Farquie is in the wiki, so it's safe to assume this is the correct npc placement for Farquie.
-Adjusted a few cow_calf_* and cow_* spawns to match 2011. Source: https://www.youtube.com/watch?v=qreoUtJ9A68.
-Adjusted many duck_*_swim spawns to match 2011 better. Source: https://www.youtube.com/watch?v=BPefdT8H_YY 0:49, https://www.youtube.com/watch?v=41wY02ass_w 1:28, https://www.youtube.com/watch?v=7gurEiVUWtM 5:19.

Other changes:
Wander.kt
-Updated Wander.kt so NPC wandering can be enabled by data config via wander_range instead of depending only on the cache walkMode. If an NPC has a wander_range entry in npc_ranges, the engine now treats that as the source of truth for whether it should random-walk. This lets data-defined NPCs like the Draynor gulls roam correctly even when their cache walk mode does not mark them as wanderers. Co-Authored by Copilot

draynor.npcs.toml
-Added collision = "sky" to the gull npc definitions. This fixes draynor gulls never moving, they can now fly around again.

Cows.kt
-Updated cow idle behavior so the eat_grass timer can trigger while cows are wandering. This fixes cows never mooing or playing the grass-eating animation because the engine was switching them out of EmptyMode before the timer tick ran. Co-Authored by Copilot

LumbridgeGuardsmanAttackable.kt
-Updated the new giant rat IDs into the list for attackable npc targets. This makes the lumbridge guardsman be able to target and attack giant rats again.

goblin_village.npc-spawns.toml
-Moved 2 goblin spawns at goblin village. This prevents one from spawning stuck on a tile beneath a flag and the other from spawning in the air.

spider.npcs.toml
-Corrected the giant spider hitpoints to 67 after discovering new evidence. Source: https://www.youtube.com/watch?v=sbKFCSxhj-Y 0:25.

falador.npcs.toml
-Added pig_3, pig_4, piglet_4, piglet_5.
-Fixed the swan_falador not being able to move by giving it collision = "sea".
-Fixed the chicken_falador_* not being able to respawn.
-Changed the highwayman_falador hunt_mode to "highwayman".

FredsFarmGoblin.kt
-Added a dialogue and behaviour similar to rs2. A bit of guess work went into the interaction due to only having one source. Sources: https://runescape.wiki/w/Transcript:Goblin_(Goblin_Village), https://www.youtube.com/watch?v=BoSFtTZhQds.

goblin.npcs.toml
-Added new goblin type goblin_machete_orange.
-Added new goblin type goblin_spear_green.
-Changed the goblin hitpoints to 67 after discovering new evidence. Source: https://www.youtube.com/watch?v=-l5y9HL7kCQ.
-Changed the goblin_orange_hat_spear hitpoints to 160 after discovering new evidence. Source: https://www.youtube.com/watch?v=plYKgRXXSdY.

gnome.npcs.toml
-Added new gnome farquie. Source: https://runescape.wiki/w/Farquie_the_Cleaner, https://runescape.wiki/w/Gnomecopter_Tours.

cow.npcs.toml
-Corrected the cow_default hitpoints to 107 after discovering new evidence. Source: https://www.youtube.com/watch?v=XiV4OX_R7_k 2:11, https://www.youtube.com/watch?v=MxorRK-wJ1Y.
-Corrected the cow_calf hitpoints to 69 after discovering new evidence. Source: https://www.youtube.com/watch?v=R1Ikv5I1VmM 1:56.

wander_ranges.tables.toml
-Added "cow_calf" and gave cow_2, cow_brown_2, cow_calf_2, cow_calf_3, a wander range of 4. This fixes them never moving.
-Added wander ranges to pig_3, pig_4, piglet_4, piglet_5. This fixes them never moving.
-Added wander ranges to swan_falador. This fixes them never moving.
-Added wander ranges to gull_draynor, gull_draynor_2. This fixes them never moving.

Highwayman.kt
-This makes all highwayman npcs behave closer to how they did in 2011, a very basic implementation.

sinclair_mansion.npcs.toml
-Changed the highwayman_sinclair_mansion, highwayman_no_hood hunt_mode to "highwayman".

freds_farm.npcs.toml
-Added farmer_2.

hunt_modes.toml
-Added [highwayman].

pickpocket.tables.toml
-Added farmer_2 with type = farmer.
@GregHib

GregHib commented Aug 17, 2026

Copy link
Copy Markdown
Owner

Updated Wander.kt so NPC wandering can be enabled by data config via wander_range instead of depending only on the cache walkMode. If an NPC has a wander_range entry in npc_ranges, the engine now treats that as the source of truth for whether it should random-walk. This lets data-defined NPCs like the Draynor gulls roam correctly even when their cache walk mode does not mark them as wanderers. Co-Authored by Copilot

So looking at the wander types of the gulls in the cache doesn't look like any of them are incorrect
image
The names I have for these are:

    const val WANDER_SPECIAL = 3
    const val PATROL_THROUGH = 6
    const val WANDER_WATER = 7

Where 3 and 7 already allow wandering it's just type 6 which currently doesn't, and while I'm not 100% on the mechanics it would suggest that quite a lot of gulls use a patrol route instead of random wandering?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants