Commit MetaInfo

Revisiond354b587d47efb83078b4154c451bc7a7c63fced (tree)
Time2012-05-27 17:21:28
AuthorBenjamin Berkels <torr.samaho@quan...>
CommiterBenjamin Berkels

Log Message

Fixed: The server always instructed clients to use the standard pain state of an actor, not any custom one. (part of Dusk's wound state / custom damagetype fix patch, but slightly modified and extended)

Change Summary

Incremental Difference

diff -r 936d69a1888f -r d354b587d47e docs/Skulltag Version History.txt
--- a/docs/Skulltag Version History.txt Sun May 27 10:05:28 2012 +0200
+++ b/docs/Skulltag Version History.txt Sun May 27 10:21:28 2012 +0200
@@ -229,6 +229,7 @@
229229 - - Fixed: Console icon would stick on a player's head if the server missed the packet to remove the icon. [TIHan]
230230 - - Fixed: Medals weren't announced on spied players. [Dusk]
231231 - - Fixed: Wound state changes weren't sent to clients. [Dusk, Torr Samaho]
232+- - Fixed: The server always instructed clients to use the standard pain state of an actor, not any custom one. [Dusk, Torr Samaho]
232233 ! - Changed F12 to allow spectators full spying, with the exception of during LMS if it's disabled. [Eruanna]
233234 ! - Changed F12 to allow full demo spying. [Eruanna]
234235 ! - Players aren't forced to spectate after a "changemap" map change on a server with a join password anymore. [Torr Samaho]
diff -r 936d69a1888f -r d354b587d47e src/p_interaction.cpp
--- a/src/p_interaction.cpp Sun May 27 10:05:28 2012 +0200
+++ b/src/p_interaction.cpp Sun May 27 10:21:28 2012 +0200
@@ -1639,7 +1639,7 @@
16391639 {
16401640 // If we are the server, tell clients about the state change.
16411641 if ( NETWORK_GetState( ) == NETSTATE_SERVER )
1642- SERVERCOMMANDS_SetThingState( target, STATE_PAIN );
1642+ SERVERCOMMANDS_SetThingFrame( target, painstate );
16431643
16441644 target->SetState (painstate);
16451645 }
@@ -1655,13 +1655,16 @@
16551655 }
16561656 else
16571657 {
1658- // If we are the server, tell clients about the state change.
1659- if ( NETWORK_GetState( ) == NETSTATE_SERVER )
1660- SERVERCOMMANDS_SetThingState( target, STATE_PAIN );
1661-
16621658 target->flags |= MF_JUSTHIT; // fight back!
16631659 FState * painstate = target->FindState(NAME_Pain, mod);
1664- if (painstate != NULL) target->SetState (painstate);
1660+ if (painstate != NULL)
1661+ {
1662+ // If we are the server, tell clients about the state change.
1663+ if ( NETWORK_GetState( ) == NETSTATE_SERVER )
1664+ SERVERCOMMANDS_SetThingFrame( target, painstate );
1665+
1666+ target->SetState (painstate);
1667+ }
16651668 if (mod == NAME_PoisonCloud)
16661669 {
16671670 if ((target->flags3 & MF3_ISMONSTER) && pr_poison() < 128)
Show on old repository browser