| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
|
| |
Increasing the search radii for `CloseContainer` from (12, 10)
to (14, 12) prevented players from exploiting the issue alone but
it could still be leveraged when there was another player involved.
In this case, you have another 2 SQM on both sides that need to be
accounted for, so using (16, 14) should prevent it as well. And it
may be a coincidence, but pretty much all other searches use these
values, so I'm not sure what to make of it. They might be related?
|
| |
|
|
|
|
|
|
| |
This fixes an issue, also present on the original binary, where
containers thrown from Z=0 to the edge of the screen at Z=7 would
remain open to surrounding players. The previous 12-10 radii were
missing 2 SQM each when considering the maximum offset between
floors.
|
| |
|
|
|
| |
This also fixes some inconsistencies such as mixing both strerror
and strerrordesc_np, and possible formatting issues.
|
| | |
|
| |
|
|
|
| |
Also make it dependent on the number of public channels to avoid
de-sync problems between them, when adding new public channels.
|
| |
|
|
|
|
|
|
|
|
|
| |
I misread the original initial values for `RefreshX` and `RefreshY`
from the binary which caused the behavior, and a confused comment from
me. Thanks to Gustinos from OTLand for catching that.
I actualy done a small back of the envelope calculation and it seems
that, using a config similar to the one from the leaked files, it would
have taken ~100 hours for it to start refreshing sectors, meaning this
feature has NEVER actually been tested. I'd expect unexpected bugs to
emerge from this change.
|
| | |
|
| |
|
|
|
|
| |
Before checking if players are in the same party, we need to
check if they're in any party at all. I made a small wrapper
`TPlayer::InPartyWith` to help prevent this mistake again.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Make uint32 -> Object conversion explicit. This can be more
verbose but will get a lot of small mistakes, especially with
function overloads.
- Fix problem with the path finder not including the last step
when `MustReach` was false.
- Fix problem with NPC conditions.
- Fix problem with monster homes continuously spawning monsters.
- Fix problem with creating the standard inventory.
- Fix problem with creature timers (IMPORTANT).
- Fix problem with `ThrowPossible` (IMPORTANT).
- Fix problem with rune casting.
- Fix problem with executing moveuse events.
- Fix problem with `MoveRel` and `WriteName` moveuse actions.
- Fix problem with eating food deleting the whole stack.
- Many other bug-fixes and improvements.
|
| |
|
|
|
|
| |
With an appropriate query manager, the server now starts up and
seems to work but won't properly handle connections until we fix
the problem with threads and signals described in `TODO.md`.
|
| | |
|
| |
|
|
|
| |
I had focused on copying the `vector` fields for theses structs
but, being the copy operator, you need to copy everything over.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|