From e715f07922d7f410289d5a70f4b658cdfb77ad08 Mon Sep 17 00:00:00 2001 From: Regalis Date: Sun, 28 Aug 2016 17:29:32 +0300 Subject: [PATCH] - spam filter closeFactor works correctly even if the client has sent less than 20 messages, slightly more aggressive filtering - anti-husk drug - resized medicine/chemical physics bodies to match the sprites - damage done to items is determined by the structureDamage value of an attack --- .../Content/Items/Fabricators/fabricators.xml | 5 +- Subsurface/Content/Items/Medical/med.png | Bin 1101 -> 1483 bytes Subsurface/Content/Items/Medical/medical.xml | 83 +++++++++++++----- Subsurface/Source/Items/Item.cs | 18 ++-- Subsurface/Source/Networking/GameServer.cs | 4 +- 5 files changed, 76 insertions(+), 34 deletions(-) diff --git a/Subsurface/Content/Items/Fabricators/fabricators.xml b/Subsurface/Content/Items/Fabricators/fabricators.xml index 08d3cf413..35644e088 100644 --- a/Subsurface/Content/Items/Fabricators/fabricators.xml +++ b/Subsurface/Content/Items/Fabricators/fabricators.xml @@ -131,7 +131,10 @@ - + + + + diff --git a/Subsurface/Content/Items/Medical/med.png b/Subsurface/Content/Items/Medical/med.png index e7d7adeb661b6fa270461ffd560e2a51fbb1bf1c..e873a14dd207be76c95e7a6638a337714c1daa2e 100644 GIT binary patch delta 1400 zcmV-;1&8|02+IqQWPb%wNkl6PVWHg9dRT3Ag3T))1->S`eku(5HSLbSheeS?+d<@DyQP4(QlbMi$X4<0-aFM1}H zmXD|1PCDzg6Iwzh9O8vwOZxw*Z271^Dib}N&z86 z1?Xk7*>?cBU)%rxmtTFwNtu?-X5WsAZ(s}2^_Zl^V(~90pgfQNiSY?3V;6APSE}eaND-!*|TS<*X!)> z?^7%m#h)P{SMvYx=I3XzOasHvh{ZH~Kfv>R+8vK_rN+O$`QLB8w0~F~clq$cOLA&@ zn%UQ9nSOm5fO@@7t+r3S{tMd2AEevomd-FU^BM^&j%Df?dW>#2pzV3MZinf~6mHx5 z-S(8SFMrtD+8Q@*+=%uDe~M04>VA|m<=*(awtPK&4Y20_om_Y5pgr)R|I zbOYRWmuAbO+3Mgl+~EsHZEbB$E-o(e@ZrN*fPclsMIJqRG{lqgP=-SiayWmrTJ0%M zCgM1bLCVreCUlZ<4Yw2Ev^<=4muA!B=h`pF2-vp0d-38$E?>S}K7IOhT1r_}6a^q- z+xBj;Sj_J1Yzy1AcjwcmSYBCCRZUIbzJ0q~tL?M1y_40>yz?nmGKG~&VJ4Hr6A2Vu zM}O~jFC$k|b=}OJJ9pUL-X;t~gb*1iC640^-(}nOE|4h{ zR;!sz<_#%jb+xdnZvAH~ZQJ&)A`$&`M1KHVAAK|g`0mP;;Vcv{m8QVg0^kQ-^U3wQs0sQ;J=psMPTAru4wK@gxQ3Q;je0`@@%ztNC1WM5t}5`X2D zZ@`GmB!AmICR!buEsujncbo{p^Y`+29R*UrwQJYPnM@`v zrL0yeWp3Tv1PHW=i3C$q6Icn8lx1L=28JFZ*6pDi9x*+RrngB=n1ASW8+RZHIqriy zs)0tcP2h*UQ#GxlZS zNgNe|V1mddXESH+%+>kkJLlZ*jL7A3O`r>00GOPd+ydC#+<(kYPEKzBQ-5`J^<6?( z1c(C(Kmp1$P4d%u01Cwd#bTlF7m5@LMF5J$0)=2bKb^-kO~RTCuHtaPvaIpBQi+xF z3X2Pi;{Z!b%PcM~i~}q$FR>7;FE1@KS1OIKlvkotQ&Z}sAnWVv;-qIHm&>_93St0P zXRaR1e*OiQCVwVSJ%s{<03ifI5Zs}9y&fnA zzj`3T1h{_vGnLL{7#$uZGn@gSR;y91?ozA0LEgK2Q-6K>$w!QgTp$rQiJ3ZvuF>iE z*p7>BJ7k6|?%lnqzW(OBe+@#ZL#+>#6-D461jv*XL&^xg=i_@Go{SKU2t41z_k22@ zkCYKoRxF&_34!W|4S$wSc&ZifP( z)PRNoh<|_<0kT@Hv6C{ek_J{>ClS}NOi9b>(rCFf+8vrrm)F%dp#Wqu>Fw!!p3>YL zm*2ZQPLIlq%@;g=@|fqpJx5;oxI{dWByL&6l1a>XoQPqdyDl-?rrT`NH5$BcG(%VV zPW*jv&ArCw1OZB@qb@BxeR}lL z%-WLy|Kc>^|7x=cPD0hER~*AR`|KI6>tfsXfARfM(I5NY%76lh%8lRG_~6P#B5i|c zLVqWk(9uju$MI>~9c;TpyXmsA@e;Tl_AH2&%jHTon|((q^?GM#hjRJHD1aOtO*1iZ z5i4$zNE#$!8m6Ic&hcfvBzeXD}I{bMjlK`NCXolcQR#7M@Cz98uu zTE{~-Tr}N8>TRr4EPNCEsfPy%m-S|wu5jN&(n diff --git a/Subsurface/Content/Items/Medical/medical.xml b/Subsurface/Content/Items/Medical/medical.xml index 44b7570a9..439778e0f 100644 --- a/Subsurface/Content/Items/Medical/medical.xml +++ b/Subsurface/Content/Items/Medical/medical.xml @@ -55,7 +55,7 @@ - + @@ -68,9 +68,9 @@ pickdistance="150" description="A mild stimulant which is used as an incredient in the manufacture of various medicines."> - + - + @@ -95,7 +95,7 @@ - + @@ -115,7 +115,7 @@ - + @@ -140,7 +140,7 @@ - + @@ -164,7 +164,7 @@ - + @@ -180,9 +180,9 @@ Tags="smallitem,chem,medical" pickdistance="150"> - + - + @@ -204,9 +204,9 @@ - + - + @@ -224,7 +224,7 @@ - + @@ -242,7 +242,7 @@ - + @@ -260,7 +260,7 @@ - + @@ -278,9 +278,9 @@ Tags="smallitem,chem,medical" pickdistance="150"> - + - + @@ -298,7 +298,7 @@ - + @@ -314,9 +314,9 @@ Tags="smallitem,chem,medical" pickdistance="150"> - + - + @@ -334,7 +334,7 @@ - + @@ -353,7 +353,7 @@ - + @@ -372,7 +372,7 @@ - + @@ -380,6 +380,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Subsurface/Source/Items/Item.cs b/Subsurface/Source/Items/Item.cs index 149b12a48..38f6c6eab 100644 --- a/Subsurface/Source/Items/Item.cs +++ b/Subsurface/Source/Items/Item.cs @@ -1,18 +1,18 @@ -using System.Collections.Generic; -using System.Linq; -using System.Xml.Linq; +using Barotrauma.Items.Components; +using Barotrauma.Networking; using FarseerPhysics; +using FarseerPhysics.Dynamics; +using FarseerPhysics.Dynamics.Contacts; using Lidgren.Network; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; -using Barotrauma.Networking; using System; -using Barotrauma.Items.Components; -using System.ComponentModel; +using System.Collections.Generic; using System.Collections.ObjectModel; -using FarseerPhysics.Dynamics; -using FarseerPhysics.Dynamics.Contacts; +using System.ComponentModel; +using System.Linq; +using System.Xml.Linq; namespace Barotrauma { @@ -648,7 +648,7 @@ namespace Barotrauma public AttackResult AddDamage(IDamageable attacker, Vector2 worldPosition, Attack attack, float deltaTime, bool playSound = true) { - float damageAmount = attack.GetDamage(deltaTime); + float damageAmount = attack.GetStructureDamage(deltaTime); Condition -= damageAmount; return new AttackResult(damageAmount, 0.0f, false); diff --git a/Subsurface/Source/Networking/GameServer.cs b/Subsurface/Source/Networking/GameServer.cs index 4b0669d40..e0b9f2234 100644 --- a/Subsurface/Source/Networking/GameServer.cs +++ b/Subsurface/Source/Networking/GameServer.cs @@ -1474,13 +1474,13 @@ namespace Barotrauma.Networking similarity += sender.ChatSpamSpeed * 0.05f; //the faster messages are being sent, the faster the filter will block for (int i = 0; i < sender.ChatMessages.Count; i++) { - float closeFactor = 1.0f / (20.0f - i); + float closeFactor = 1.0f / (sender.ChatMessages.Count - i); int levenshteinDist = ToolBox.LevenshteinDistance(message.Text, sender.ChatMessages[i]); similarity += Math.Max((message.Text.Length - levenshteinDist) / message.Text.Length * closeFactor, 0.0f); } - if (similarity > 6.0f) + if (similarity > 5.0f) { sender.ChatSpamCount++;