Commit graph

343 commits

Author SHA1 Message Date
Patrikkk
4f66e660d4 Bouncer OnTileEdit - Add tile replace action to tileban check.
Tiny change, but a pressing matter. My smallest PR ever? hahah.
2020-06-09 00:01:57 +02:00
Chris
9b9ccfd6f1
Merge branch 'general-devel' into patch-15 2020-06-07 12:48:41 +09:30
Patrikkk
156cf4930b FishOutNPC - Fix some rods not fishing out NPCs.
I was wrong, not all bobbers are named "Bobber".
Just found that Projectile now has an extra field which determines if the given type is a bobber. This field is set in Projectile.SetDefaults method in the following logic
`((type >= 360 && type <= 366) || type == 381 || type == 382 || type == 760 || type == 775)`
I think it is reasonable to use the bobber field, as it would be updateproof too.
Tested and working. Fixes #1985
2020-06-06 22:28:37 +02:00
moisterrific
7d4ce5af69
Add latest commits regarding new permissions 2020-06-06 00:36:29 -04:00
Lucas Nicodemus
31e79a3918
Update changelog for 4.4.0 pr11 2020-06-04 21:29:50 -07:00
moisterrific
911f0d9320
Add additional onXthresholdBroken to changelog
sorry I couldn't figure out how to put everything in one pr
2020-06-04 22:39:52 -04:00
Patrikkk
b0c512a127 Update CHANGELOG.md 2020-06-05 03:47:02 +02:00
Patrikkk
65b0eb9ccf Update CHANGELOG.md 2020-06-05 00:26:32 +02:00
Patrikkk
2fd5941821 OnFishout - Fixing #1985 - Making debug messages clearer. Modifying redundant check.
The actual issue was a missing `!` beind IsInRange. If player was doing a valid fishing event, it handled the NPC spawning.
I've split up the checks to make clearer debug messages.
Main.projectile objects are never null. Bobber projectile is never killed when the FishOutNPC event occurs. The projectile type in the check can only be 0 if no recent projectile found that has the name Bobber.
2020-06-04 12:23:48 +02:00
Patrikkk
4587ac4d5c Update CHANGELOG.md 2020-06-02 19:27:42 +02:00
Patrikkk
e738d8e794 Implementing SyncTilePickingHandler. Patching tile damage related exploits.
With this packet, players could kick all players by sending invalid world position data.
2020-06-02 19:20:27 +02:00
Patrikkk
60840807cf Merge branch 'general-devel' into handlesynctilepicking 2020-06-02 19:08:26 +02:00
Patrikkk
d919c11add
Merge branch 'general-devel' into handlegolfpacket 2020-06-02 11:52:32 +02:00
Patrikkk
f01274164f
Merge branch 'general-devel' into handlesynccavernmonster 2020-06-02 11:39:11 +02:00
Patrikkk
3cc8a75b9b
Merge branch 'general-devel' into emojipacketevent 2020-06-02 11:21:19 +02:00
Patrikkk
f7a8695c8f
Merge branch 'general-devel' into handlegolfpacket 2020-06-02 11:15:17 +02:00
Chris
93a7b0aafe Update changelog 2020-06-02 17:05:36 +09:30
Patrikkk
2177d75066 Add SyncTilePicking event. 2020-06-01 18:31:30 +02:00
Patrikkk
ce5ee0d623 Add HandleSyncCavernMonsterType
This packet is never sent from the client to the server in a normal scenario. Although with modded clients, a packet can be sent to modify the cavernMonsterType of the server world and have the world spawn defined NPC types. Can be used to have the server randomly spawn bosses on players in caverns.
Is it okay to have this simple handling in GetDataHandlers? A seperate class felt like an overkill.

Moved the HandleSyncRevengeMarker packet handler to it's "correct" position, so I won't have merge issues between my last PR. As I've mentioned there, we have the Packets in their numerical order.
2020-06-01 17:02:27 +02:00
Patrikkk
f538ceb793 Adding EmojiHandler to handle an exploit. Adding sendemoji permission and checks.
I know, this is not something important, but I'm going through the new packets one by one and adding events developers can work with, patching exploits, and thought this could be a core permission.
2020-06-01 15:24:02 +02:00
Patrikkk
2254df21fd Add Emoji event
This is received from the client when they are trying to display an emoji, this comes in to the server, gets processed, and the server sends back the Emote Bubble packet to the clients.
2020-06-01 14:38:29 +02:00
Patrikkk
bfc9ed8f69
Merge branch 'general-devel' into handlegolfpacket 2020-06-01 14:31:32 +02:00
Patrikkk
22abd3a2eb Update CHANGELOG.md 2020-06-01 13:01:15 +02:00
Chris
c5fcece18d
Update for pre-10 2020-06-01 19:26:10 +09:30
Chris
badba523e7
Merge branch 'general-devel' into projectilestruct-addition 2020-06-01 19:12:38 +09:30
Chris
5a1c1a6527
Merge branch 'general-devel' into patch-11 2020-06-01 19:08:06 +09:30
Chris
26aac0dab9
Merge branch 'general-devel' into fishoutnpc-event 2020-06-01 18:58:06 +09:30
Lucas Nicodemus
dff5f043aa
Merge branch 'general-devel' into fix-bugs 2020-06-01 02:21:21 -07:00
Chris
3eb91bf0e8 Update changelog 2020-06-01 18:38:31 +09:30
Chris
8ed6751747 Update changelog 2020-06-01 15:27:52 +09:30
Lucas Nicodemus
6ca9a98a91
Bump max player damage to 42,000 for empress of light
Based on feedback from #1936, empress of light needs to do more damage,
so we're going to boost it to a higher arbitrary number than it was
before.
2020-05-31 13:11:01 -07:00
Patrikkk
71cc7f482b Update CHANGELOG.md 2020-05-31 15:57:23 +02:00
Patrikkk
1398b1e079
Merge branch 'general-devel' into fishoutnpc-event 2020-05-31 15:52:59 +02:00
Lucas Nicodemus
1a35713e3e
Update changelog for PR 9 2020-05-31 00:46:13 -07:00
Lucas Nicodemus
ac76ccf589
Fix doors in the lamest way possible (!)
Fixes #1774.

This commit is designed to fix the clientside door desync issue. Based
on the order of events that I've been able to see, the way that door
opening works is like this:

1. Client sends a door open request.
2. Server echoes request back to client.
3. Both server and client simulate door opening.
4. The client that requests the initial door open sends a tile square to
the server for some reason.

In TShock, under all circumstances, we send a tile square back to the
client that sends one in, unless you have the
`tshock.ignore.sendtilesquare` permission. This adds a deviation: it
does not network data back if the event is just a door change. Doing
this is safe from the perspective of actual gameplay. A previous
iteration of this commit synchronized data to other clients, but that
seemed superfluous.

This does not really solve the underlying problem or answer the question
as to why sending a tile square back to the client seems to throw it
off, but it does. I was not able to replicate the desync issue anymore
with this branch. I expect that it will be safe to keep, because the
improved logic will only happen if the tile square had no effective
changes in addition to the door changes.
2020-05-31 00:40:03 -07:00
moisterrific
e5db414b9c
Update CHANGELOG.md 2020-05-30 18:01:19 -04:00
Olink
96c7453b33 Merge branch 'general-devel' of github.com:Pryaxis/TShock into fix-bugs 2020-05-30 11:54:09 -04:00
Patrikkk
9a49f6ad15
Merge branch 'general-devel' into fishoutnpc-event 2020-05-30 10:53:51 +02:00
Lucas Nicodemus
01e3f9c58d
Merge branch 'general-devel' into general-devel 2020-05-30 00:32:57 -07:00
Lucas Nicodemus
52365078b6
Remove extra space from sentence in changelog 2020-05-30 00:28:40 -07:00
Lucas Nicodemus
41a649ce3e
Merge branch 'general-devel' into patch-8 2020-05-30 00:27:35 -07:00
Lucas Nicodemus
f82ab41a25
Add /sync command to alleviate door related sadness
Run /sync if your doors disappear. This will resync your local client
with the server state. For more information, please see the associated
changelog entry.
2020-05-29 21:04:48 -07:00
Lucas Nicodemus
44ad2d2eff
Remove extra debug info from OnGetData
Per packet debug logs are redundant for people with the packet monitor
plugin. If you need packet monitoring, please install the packet monitor
plugin.
2020-05-29 19:52:03 -07:00
Olink
4dd786129c Update changelog. 2020-05-29 17:04:38 -04:00
Olink
7d46722407 Update changelog. 2020-05-29 16:47:43 -04:00
Lucas Nicodemus
0c3242a6f5
Tuned changelog 2020-05-29 10:56:40 -07:00
Chris
cdeac344b8
Update CHANGELOG.md 2020-05-29 17:18:11 +09:30
Patrikkk
9cd4670436 Add FishOutNPC event handler. 2020-05-29 03:25:11 +02:00
Patrikkk
3c0a990de6 Update CHANGELOG.md 2020-05-28 20:47:21 +02:00
Lucas Nicodemus
814801d894
Experimentally change spawn rules for #1849
This change applies @AxeelAnder's suggeted patch from #1845 to attempt
to resolve spawn point issues. If you remove your bed spawn point it
should send you back to the map spawn point with this.
2020-05-27 20:24:43 -07:00