-
Notifications
You must be signed in to change notification settings - Fork 747
[core] [sql] Add spawn group plumbing #7952
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: base
Are you sure you want to change the base?
Conversation
7575fd7
to
6d34522
Compare
TODO: Night/Day only spawn checks. It doesnt look like we have enough data to know how exactly that works |
Just some info. A good test case for this might be the Ceremonial Dagger drop. Dagger drops off skeletons that only spawn at night but they share spawns with 2 goblins at the same location. |
Another note: when you despawn a mob because of distance it respawns in 80-90 seconds. Trying to narrow down the timer a little more but it seems to be around there. Testing a bunch of things to narrow some more things down. It does NOT always spawn the same id. It can pick anything from the pool. |
d6131cb
to
da0c011
Compare
I think this is good to go, though I don't have the night/day spawn in stuff yet. That can come in a future PR. This PR won't break anything that's not in a group (and it only adds ONE group) so i don't think it's a problem We're working on getting info on how the night/day only spawns/transitions works (unfortunately it's hard to test due to really only being able to do it once per game day on retail...) |
2a887f6
to
3d2f689
Compare
Everything seems to work. Killed all mobs several times at once, staggered, etc. always spawned with correct number of spawns and correct mob IDs. |
a6f16ae
to
8476e2b
Compare
8476e2b
to
04bceed
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks sane and very light on the manual data entry.
Have you thought at all on lua bindings to allow definitions in mob lua alongside (or instead of) the sql data?
My thought was perhaps the spawn groups being able to be the lowest mobid in the group. I think spawn_group.h
defines it as uint32, but the sql table is only tinyint
. This should be fine since we don't want hardcoded mobids in the sql table anyway, just sharing my thoughts on the future of the system
I might not be understanding what you mean but the groups aren't always in specific ID order. There are several cases where that is not true and the groups skip IDs. This is somewhat hardcoded anyway because groupings need to be assigned to specific mob ids. |
absolutely, my point is that if we were to assign spawn groups in
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I spoke to Winter about the C++ and performance characteristics of this last week, should all be good 👍
Need to retest this after a conflict from rebase once I get home |
I affirm:
What does this pull request do?
Adds spawn group/spawn slot plumbing

Only these mobs in Korroloka Tunnel are hooked up atm
The rest are ungrouped
Steps to test these changes
zone to Korroloka Tunnel
!gotoname Clipper 10
Kill grouped/ungrouped mobs, see them respawn correctly. In the case of grouped mobs, some should cycle in/out.