Skip to content

Multiple regions npc and spawn adjustments 1 - #1178

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

Multiple regions npc and spawn adjustments 1#1178
V0lcanic wants to merge 10 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?

@skalfate

skalfate commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Thank you for the thorough contributions with sources, Volcanic. :) I can imagine its a slow hard to get through process.

I have not finished going through all of it, just some. There is a correction I'd like to point out :

--

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

The hit points I counted are "59".

--

I am running the changes, and the he eastern gull/ shady stranger isn't spawned.

@skalfate

skalfate commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Greg, correct me if I am wrong, are the npc spawns locations in the cache and the wander distance? From the image you showed, it seems only their wander distance is.

If both are included in the cache then we can't really approach these corrections. But if not, then these are really helpful.

@GregHib

GregHib commented Aug 17, 2026

Copy link
Copy Markdown
Owner

Greg, correct me if I am wrong, are the npc spawns locations in the cache and the wander distance? From the image you showed, it seems only their wander distance is.

Neither, it's only walk type/mode unfortunately, which just says if it's a stationary, patrol (like a guard that follows a path) or wander (random walk). The distances were all collected from rs3 (see wander_ranges.tables.toml) so should be pretty accurate.

@skalfate

skalfate commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Greg, correct me if I am wrong, are the npc spawns locations in the cache and the wander distance? From the image you showed, it seems only their wander distance is.

Neither, it's only walk type/mode unfortunately, which just says if it's a stationary, patrol (like a guard that follows a path) or wander (random walk). The distances were all collected from rs3 (see wander_ranges.tables.toml) so should be pretty accurate.

Yes I agree. That shouldn't be messed with then. Also I am guessing the wonder distance is in relation to the spawn point right? In other words, say 16 distance, 16 units from spawn location?

Volcanic's work here then is very helpful then. I appreciate it highly. I went over a whole bunch of the references. Most of it. I only found 2 things to correct. I'll update my top post.

@skalfate

skalfate commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Greg, you have mentioned rs3 a few times here and there, is there any way to gets rs3 location spawn data? That would be even more accurate for majority npcs.

@V0lcanic

Copy link
Copy Markdown
Contributor Author

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?

Good catch; I completely overlooked this in the original source, my mistake. It does look like the Draynor gulls are using a patrol route as seen in new sources. Also, that walkMask column looks very helpful; I'll be using that to help with npc/spawn adjustments from now on.

South gull sources: https://www.youtube.com/watch?v=3awbOCLfhF8 and https://www.youtube.com/watch?v=XQw4WNc1xaA. The southern gull is still the same in 2012 as well: https://www.youtube.com/watch?v=UHybF8Cf1no (6:42).

North gull sources: https://www.youtube.com/watch?v=xY6cIEoNP1A (1:16), https://www.youtube.com/watch?v=yKP3SOJratA (1:12 using its shadow as reference,) https://www.youtube.com/watch?v=FicgorMCT7A, https://www.youtube.com/watch?v=OH95o4HGR8A (0:50).

All of these sources provide me enough proof and route information to pair it 1:1 with 2011.

I'll make the following changes as soon as possible (might take awhile due to copilot issues)
-Roll back any changes made to Wander.kt
-Changing the wander behaviour to specific patrol routes instead
-Roll back 1 added gull spawn, as I was incorrect; there are only 2 gull spawns in Draynor in revision 634

The hit points I counted are "59".

The video is sped up pretty fast, but if you go frame by frame, the hitsplats should count up to 17+22+13+15+2. Another reference point in the same source would be 3:49, with the player at the back doing more noticeable damage 29+15+25.

@skalfate

Copy link
Copy Markdown
Contributor

You are right Volcanic. My apologies, the other two kills after the first does show 69 total.

@skalfate

Copy link
Copy Markdown
Contributor

The shady strangers, here are some sources for their locations :

This one has white robes and brown robes in the market.
https://www.youtube.com/watch?v=MYE5_FPk0M8
https://www.youtube.com/watch?v=hn5J-yGwnAQ

@GregHib

GregHib commented Aug 17, 2026

Copy link
Copy Markdown
Owner

Greg, you have mentioned rs3 a few times here and there, is there any way to gets rs3 location spawn data? That would be even more accurate for majority npcs.

Yes (you can click the edit_source button on a https://runescape.wiki page and find the spawn coords of most npcs) but it's not as useful as you'd hope as the majority of regions have been reworked and the npcs moved around, that's why I started with osrs spawns as it was closer and there was an official overworld spawn dump

Copilot added 2 commits August 17, 2026 23:14
draynor.npcs.toml
-Added shady_stranger_2
-Added examine text to gull_draynor*.
-Corrected dialogue with shady_stranger and suspicious_outsider. Source: https://runescape.wiki/w/Transcript:Suspicious_outsider.

draynor.npc-spawns.toml
-Added shady_stranger_2. Spawn source: https://www.youtube.com/watch?v=hn5J-yGwnAQ 2:27
-Adjusted gull_draynor and gull_draynor* spawn locations.
-Adjusted a shady_stranger spawn location to match rs2. Source: https://www.youtube.com/watch?v=5DlFGDB_d9o 0:47.
-Rolled back 1 gull_draynor spawn since the current amount of 2 is already correct.

DraynorGulls.kt
-DraynorGulls spawns two gull NPCs (gull_draynor, gull_draynor_2) only when the spawn tile matches a patrol's first waypoint, then sets their mode to Patrol using waypoints from PatrolDefinitions. Co-authored by copilot.

draynor.patrols.toml
-Added the patrol routes for gull_draynor*.

wander_range.tables.toml
-Changed gull_draynor* wander_range to 0.

Wander.kt
-Only consecutive ticks on the same tile count as "stuck"; moving should reset the counter. Co-authored by copilot, please don't hesitate to undo this if the change is not needed.
…djustments' into multiple-regions-npc-and-spawn-adjustments
@V0lcanic

Copy link
Copy Markdown
Contributor Author

I am running the changes, and the he eastern gull/ shady stranger isn't spawned.

Thank you! This has been addressed in the most recent commit changes. The shady strangers and suspicious outsiders still need their teleporting behaviour once they reach 100 hitpoints. I can probably look into that later today.

-Added respawn_delay of 50 to shady_stranger* and suspicious_outsider. This makes them able to respawn.

ShadyStranger.kt
-Added the original "Uh oh, time to go!" shady stranger and suspicious outsider despawn/teleportation behaviour from RS2. They now teleport away from the player if they take direct damage at 100 hitpoints or lower.
-Fixed the punctuation on the npc.say message.
-Fixed the dialogue (text must've glitched when I was copying and pasting; I didn't notice until after).

Unrelated changes:
draynor.objs.toml
-Added new entry [trinket_chest] with examine text.

summoning.objs.toml
-Added new entry [small_obelisk] with examine text.
@jarryd229

Copy link
Copy Markdown
Contributor

Greg, you have mentioned rs3 a few times here and there, is there any way to gets rs3 location spawn data? That would be even more accurate for majority npcs.

you can try https://chisel.weirdgloop.org/gazproj/mrnd

Comment on lines 26 to 33
if (npc.tile == lastTile) {
stuckCounter = 0
} else if (stuckCounter++ >= stuckLimit) {
npc.tele(spawn)
if (stuckCounter++ >= stuckLimit) {
npc.tele(spawn)
stuckCounter = 0
}
} else {
stuckCounter = 0
}

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same solution just a bit neater

if (npc.tile != lastTile) {
    stuckCounter = 0
} else if (stuckCounter++ >= stuckLimit) {
    npc.tele(spawn)
    stuckCounter = 0
}


init {
huntPlayer("highwayman*", "highwayman") { target ->
if (target.combatLevel < 11) {

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is equivalent to check_not_too_strong = true which is checking if the target's combat level > the npcs combat x2

What was the behaviour that this change was meant to fix? There's probably a better solution

@V0lcanic V0lcanic Aug 18, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There was nothing to fix, looking back at it now. This was a complete misunderstanding of how the hunt_mode works. For some odd reason I thought the hunt_mode had to be updated and attached within Highwayman.kt for the whole script to work, so when I worked with copilot, it must've ignored or overruled the already existing hunt_mode, and I should've tested everything from start to finish much more; my apologies. After doing some testing using hunt_mode = "aggressive" it works completely fine.

EDIT: I'm wrong again. The only "issue" seems to be with the aggressive hunt_mode itself. Any npc with hunt_mode = aggressive will become aggressive to the player regardless of the combat level. I remember this also happening with the level 11 lumbridge skeleton_catacombs attacking me at level 138, so I had to switch it to "cowardly", but the highwayman isn't a "cowardly" npc which I assume is why copilot gave it target.combatLevel < 11. I'll have to think about a solution for this.

The Highwayman.kt will now look like this:

package content.area.asgarnia.falador

import world.gregs.voidps.engine.Script
import world.gregs.voidps.engine.entity.character.player.Player

class Highwayman : Script {

    init {
        npcCombatStart { target ->
            if (id.startsWith("highwayman") && target is Player) {
                say("Stand and deliver!")
            }
        }
    }
}

All highwayman hunt_mode will now revert to "aggressive" and the [highwayman] will be removed from hunt_modes.toml

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The only "issue" seems to be with the aggressive hunt_mode itself. Any npc with hunt_mode = aggressive will become aggressive to the player regardless of the combat level.

Yeah that's by design, "aggressive" is the official jagex name for the hunt mode which attacks all regardless of combat level and "cowardly" which takes combat level into account. Which is not what you think, so when the wiki says a monster is aggressive it normally means hunt_mode = "cowardly"

Copilot and others added 4 commits August 18, 2026 22:13
-Reverted all highwayman hunt_mode to "cowardly" and removed the [highwayman] hunt_mode type. The original "cowardly" hunt_mode was correct; there was no need for me to change it. I spent some extra time learning about how hunt_mode works in general.

Highwayman.kt
-Removed unnecessary lines.

Other changes:
draynor.item-spawns.toml
-Corrected the spawn location of 2 logs. Source: osrs.world 634, osrs live server.

draynor.npcs.toml
-Corrected the respawn_delay for shady_stranger* and suspicious_outsider to 66. Source: https://www.youtube.com/watch?v=hn5J-yGwnAQ 0:20 - 1:00
-Added missing examine texts

draynor.objs.toml
-Added some missing objects and examine texts.

ShadyStranger.kt
-Changed the respawn delay default to match the changes applied to shady_stranger* and suspicious_outsider inside draynor.npcs.toml

Unrelated fix:
surprise_exam.npcs.toml
-Added interacts = false for [mr_mordau]. This prevents mr_mordau from changing the direction he's facing when the player talks to him.
…n the Lumbridge catacombs only become hostile if a statuette is taken, so a hunt_mode is not needed; none of the other catacombs monsters use hunt_mode, so this adjustment makes the monsters behaviour more consistent.

rat.npcs.toml
-Removed hunt_mode from the level-2 giant_rat.
…ects a few mistakes and inconsistencies and makes their behaviour closer to 2011.

-Removed the hunt_mode for all level-2 and level-3 giant rats. Only level-6 (or higher) giant rats can become hostile towards the player. Source: https://runescape.wiki/w/Giant_rat?oldid=3790587, https://wiki.darkan.org/Giant_rat

-Updated all level-2 and level-3 giant rat hitpoints to 53 after new evidence. Source: https://www.youtube.com/watch?v=_cmaU4JNuuM, https://www.youtube.com/watch?v=tbzA3Gv9yes 0:41.

-Updated level-6 giant rat hitpoints to 133 after new evidence. This change does not apply to the giant rats in the wilderness. Source: https://www.youtube.com/watch?v=tbzA3Gv9yes 0:26, https://www.youtube.com/watch?v=prxOEPXoY2k 1:58.

-Any other giant_rat_wilderness* that was outside of the wilderness has now been replaced with a mainland npc id variant.

More changes:

ardougne_sewers.npcs.toml

-Changed [giant_rat_ardougne_sewer] hitpoints to 53.

-Changed [giant_rat_ardougne_sewer_stubby] hitpoints to 53.

edgeville_dungeon.npc-spawns.toml

-Replaced "giant_rat_wilderness" with "giant_rat_dark_injured"

grand_tree_tunnels.npc-spawns.toml

-Replaced 3x "giant_rat_wilderness" with 3x "giant_rat_dark_injured"

lumbridge_swamp.npcs.toml

-Changed [giant_rat_lumbridge_swamp] hitpoints to 53.

meiyerditch_tunnels.npc-spawns.toml

-Replaced "giant_rat_wilderness" with "giant_rat_brimhaven"

mudskipper_point.npcs.toml

-Changed [giant_rat_mudskipper_point] hitpoints to 53.

-Changed [giant_rat_mudskipper_point_2] hitpoints to 53.

rat.npcs.toml

-Changed [giant_rat] hitpoints to 53.

-Changed [giant_rat_dark] hitpoints to 133. Source:

shadow_dungeon.npc-spawns.toml

-Replaced "giant_rat_wilderness" with "giant_rat_dark_injured"

spider.npcs.toml

-Remove hunt_mode and hunt_range. Only high-level giant spiders are hostile to the player. Source: https://runescape.wiki/w/Giant_spider?oldid=3796625

varrock.npcs.toml

-Changed [giant_rat_varrock] hitpoints to 133.

wilderness.npc-spawns.toml

-Replaced 2x "giant_rat_brimhaven", 1x "giant_rat_dark_injured" with 3x "giant_rat_wilderness_2". This isn't 100% accurate, but the change was made so there weren't any more giant rats with 133 hitpoints or any id conflicts. Source: https://www.youtube.com/watch?v=SJUSGehdeCc.

-Moved the lines for giant_rat_wilderness* into the correct region #12855

wilderness.npcs.toml

-Changed the [giant_rat_wilderness*] hunt_mode to "aggressive". Source: https://runescape.wiki/w/Giant_rat?oldid=3790587, https://wiki.darkan.org/Giant_rat.

-Added a respawn_delay of 30 to [giant_rat_wilderness*].

-The hitpoints for giant_rat_wilderness* remain the same since they're supposed to have 100 according to new evidence. Source: https://www.youtube.com/watch?v=SJUSGehdeCc
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.

4 participants