From fe09f9b4c6cdd7b1828435dd56e5812fe452ab12 Mon Sep 17 00:00:00 2001 From: Jackz Date: Sat, 30 Sep 2023 12:23:44 -0500 Subject: [PATCH 1/2] Move to own file, add special spawning --- plugins/l4d2_extraplayeritems.smx | Bin 38501 -> 39578 bytes scripting/epi/director.sp | 196 +++++++++++++++++++++++++++++ scripting/l4d2_extraplayeritems.sp | 130 ++----------------- 3 files changed, 207 insertions(+), 119 deletions(-) create mode 100644 scripting/epi/director.sp diff --git a/plugins/l4d2_extraplayeritems.smx b/plugins/l4d2_extraplayeritems.smx index d7b4c94ed1af82745f80f53067d3fa8ffc8a36a2..9a065c63a0aa7e4720e47c2a321af54cc0ef39df 100644 GIT binary patch literal 39578 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 KN$% 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 J{{VPZ{L9Njvb+EQ literal 38501 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�=>1(7sx9i$?xpq=uwLFO)5kcWHb}-4G`gYyW zlgH97Rqu|L4tT+N0T5fuV`YFi}l zsZ(hQn^&nv^O+!QSY%s(GQYn+XLq+n@20k@z9M02G5eWh`c(^L**-QSsE;>A9F-ha z;L-H1fUO!WV&{lcm#pBYWqaOf_{j>77SqB1=xDc?0Z*^9T_A&~<1@$h&V!tOhv^1Z8ru(?ok^9RuSe@j?T2X0-W+f* z*GZHuj>v3Vcs{z6lGf=PEQR~Q91Eh1O9r229RZK`!nj)Lv~Yj;o`Vu@;V{!k*(K|Y zO@n<8=$oU?+4k%4&X55gy}l9eLw=i@-+xgD7s_r617#%;HgllRI~WVa8P!X;=$5^F zh(lfx+mn|1hN|G}gX0W^kaw;!s%~#&`iIrXdamTv_pK5nW^B>;&F4R=V+F_*x2S9L z%RAQ+O{)k9)a!eBp4AQ(O#n*@rUiCqGv>|`Ggc+6t1=20WsZHk{Y+BjV*R&gGHyEck zCW%CAUfDQ}UyFD_NKlb$Kv8qZ+0Rc3aVxZ|7arZpeTguG*9xv(F$zCUSS|eCnz7^2 z*9szVC6C?>>aT{ya$j~?nWj2f?}Th8UMPj-xU^#7N;Z}kOl-Cdw^P&AHS5=Peesf# zpq3}6X-yT=2pPVmG!s2rC9-x zk~Ivtua{$MrKVxyi=S-PQJs=Z-GylCimiTi_28hc?C|%E$#!w<HO4}EII6pP+8S8dj}MFWx@6 zY*aw=Dq9*#+xl0P$q@VPdKrvmrqXY6?uR9?PcHXOXD;o91i$*S6J^&HF3 zn1jwyIoUg7NJ7?~n>}Y|Bm>E~QhRgM7aQG{gKkVAG1Wpx%a%2~`jP=D#gsTIYxfit zZpr4<*;HnZnEE_U{%ZA77q} z@ly}3@#1f!3Ee=Q<_8P}{~aF2-5bOqUEjdsPEHpq*T$AT($kDxQziNHq5B7CNtUP} z4%2i?)W#^h;&1~$Z_U;}9l15YBARyiX4mCQ`&5xjeao*ihMptAi+r}{SLN9>$CHQa zIC4uN)UN)c<6XnM!I$2Luy{TjofeG|A6EO^!Il-8nc}LCREWE!KG&;bhTf?KTo*TQ|i~U`&eQD_@OUmT}M|2YBvM zxXHh~lJm?P%iG|q8~ci1H!P9!?x>SZ6V6M2{z*qUWKg-(Bz?l^CYg!N$Jni=Gqqd< z^KK`vIGvfKQ*tjo14WHnO&?@3^YFq!5;BnsmHe;S0gl!gPwUgt$g^zWh_2wBMkarBwxVGk=0o*8MJG zOk9H&i6fe^I2-k5)P>+|(_>>c{8#z5n^dPyDXz)MRo@;uQwJYh3bBB-UbbgHXY``a@&7B1e6u@dVWQmgLwMZve zhnjS7xA;T0V{xy1yd3o1G&ta?pRWJzVKzEDExArCorl}^T5zPpaVlnOrQ!`W_`Jg? z6R$j8o5$+^t4_L!nSq?QCd#K$a>soSU*ATC>bCr5d2?4Vjk~$tOj z+4@r2K6h)m%>A;VHa`(txKf-VTd$RCc5TrcW7oR*=9KO-bDYY>>{R$|pLuP2mur;Z zz08WwTwbZEBEc~bSNK&_uxdiX7^hgNqOE+FE11owM0z9#c?$&^r|a}N7;d#cT5r~X z%($PLy52B6#dkszbigs+hcp1<$%5R+Y2+g4JsH*`UV~kU>h|~7N9ng zAK}{!{hbjFT7*L7@2B`;LeLrN%c4D{X@pOwHqI7N&uilx~>sW6Q1IFa+Ua4JGZjnnT ze3WvV4Jg6U{zlocWLcBS2iJ6-N>U-ej3%B>PW9m7HTh3-{Q3`h?$4c5H?qfl+SjsH zUhHW0{2S$Gc(_vzH+-TE!APVE)P1aRy6Kc-;OBKR(NLkBI^zv7+1B;>jx~F&lDh*_ zHQCEB92S(XkbkkAz+rQ3bU6pZq__v>3m|in;gqZQn}(Euu;EJN1ltp9*B;D>eM{7k z6v;M5C8W8orBrls-tW-sy$S2oMYULsCv;ecu`gF$V0#?C2r_XDczYS8*5T!dB#eo+ zSJB$@&W)gJYbN-O=mbOqr^j~lHqv13)dX_6{H1QMCbu%AVn|F-66TnWc;v!1SDak~ z$4uenLo%~LHqU?E=}%Udu+5Jex!bv~1gTd^J^uqwIsZ^vCrxyMJH5>mRmC!X8{F{(yHBmH~ zZ(t6*@7Z6ND~H&_x0H}8YMS*Ln4N&KxyUx_QTXF;G z7OjlHf^|U3+KSzk1!U9{TzEbX=U&+?+%VwZ*bid9h}r{}dv2B(#|3K%^~h1h-O~`}Hh3#446g)4m%c z$VV4ZV@IC*SN>2$oXsOl<)+olMZ#76l`A}SXA;OpdKWe5uDv*fT+~FBw?fA;gohID4B1EUj+=fL z^F(W=P7HWnSn>A1LLIM1X^VKJZWazFq^I;-XX!Ml>sWt1*syHCF9^d@#@VMzBwOFu(pakQE-B%ZFZkJNM8e00^J6omFq34Ew8e{JEg*NG5u+X3$xw%Xee3_G++4^SE04eo6-`9e#)ep z{xR_N3@iRFt;X6N4(lUom(Edga2{w7MD~eiIU;=oIW9REJe*6ZIZ9zj5x0Q1u4lc? zlCK$Z@b6PCa3`JrRvm`Jv&H0A+$NFRdfu&B!JTNqpwbbsrF}Wap;d%W@WtF!7yf^5*g$DPT zFAb=yTy`{&bZgT~wor0kEt}fXKA?U6Jl$5_3qBzmle1*j5ib(3``-WDz7>C%r&#d4 zE@RUr1P0PXojEP-_omz4vh+2WXZ?9MPwdRgYbLJw&je`a~3Wju8j)CKm5v3v?CT8qEmcRv$s%Lu0tM##6FxjO&*9GA_w z!p#cj4bg*bt2dVN*BmDKncFP9A;TCuHN0#?K>Ve+5C+!>4$K-%Ka^^SZOi+)d%Z1A zcAQHP7UP&k@LY28Mbe7v?}93= zfX-6(Q?>@zp%apox`M);6k53B#o^88wV!<{yM`-Cen6Dp?B!Kn`emNaDZGiiZrjy{ zems;*gK0Bmu|8W*1UGwiev)LKzWA6Tr*PNpj{SN759^4?fD2pYUH|Ix8RNC1#n7_6 zEAWGxpTVXoEB(?2Ph6@odnxE|s*77WbO#;$db4@^T01!@{jb^^!c9&7jIP~|SzI(m zeGjN&L78Nmvj0j$mn|;kf9z!+-o2f2C>7HhvXaRhQswj(9JHCGeU)Y!Vf(H@D5*a3 z&hc*!x~9HB$0tek#j+!kzl{92Qooj3lSBvq)-aW(N*Qu)G=o+;IfDdV*S3jd+DvqG zzUT4slgrZIF7)S$8e`?bU1|xGj#O~Hd4;hZ)cO|5#Jl-m*JBBmEx>ta$tB1>P|h*w zc!fc0zNw~OB_hSeGIg-zyLxF!5&|v$POPt@XvB!caeF4o?lp_mwn37e#Un>rgQPVB z@#0RSyN+}-iP(YD@2y6`O9C;v>szm6#@iF+)1(yM$2~f@j5xHIT=758as8g9Be@Vn zE&1A|Ec-{-ls5W@sQd&owd4XPf!d*`<><$*zM`$m25#+Bqr(zZbh5dNw^`{9AEd|l zeja<(eC`X0h#62kxYc~%E)H1@jvDnh0h|ipw!$4Rq_sGcynvpPt?Z0Y$^CC z9JPvtYuGCue|{yE3^)+lt30 z#lW+r{I|-=Kih39{;AG>(HdDR#&%4-%&yfUOV1GQUa1QzN>SMrBRb!TuQnpGpun>~ z@{&JgPC22@Iu_kOwVplVkL@e;ES#|U^9LN_>ac|>l)f#&JW6!?P6^j(#Q2v-U%4Kd z2H4Qt(0^0JXl^R+QUy;Io;VCW@t7+u;!x*%I}mCMmDSO)~n)iwNl0P zs#{>bw_jAJ3bhuKgp zTACsJaM-5lN3DlgMJ+q|+{-_G-8r|O0S*B3w`<8B=MOn6^|^4SsIN&<7u|&{JoyBi$!k08~y zm0F+_(ZY-7@111s5_t%4`HoHgBW>FC_b}QBFdLMLt7xg!@{={$`){i;;Aai}I>P6%pV z+eNYi*ddv}r3aX&bpK~ntUDl-51?e^4J9VDx+6q&k8GZZpin8)8c;?ACC(vhA$Mn3 z#9 z72h<8%EtvuWEr|zN1Jusi{|=}#2-z}qkO0I(+j%_b5%7F5n_&r@IjS_J4u@_RodcI zQAHDC6e+_tMUI-Wa=U4n%Rp+Qr=&$gV;Uw6ci-=DO=5SNKD0^mvBViC*?2#>TP$ek zjCjjSa+_i0#kz_$y;P=Jitkrr>*yrrZ{oZGFL%4dQ#Aguh~3UPWLTN(N}T55&+0I0 z(h|Aj^7`51D5vJ4M*fr~k*pY6hxzCOf9j#Qr?H#`%2U5?As?hb#51++PCbF1t1PiI zCk;k7_n6gf5l;SzZ21b1R7d}ND`~cEreHDA*Y17V{0>~Z*2wOi1lOtKN9%VC+w&9u z-cjA<8mJS^dAyL7{dg|E<+HbJPsw*F7n9&;!Z0f-U7|-lZnX0iAtzjAAwYMgqUsFwack0OmCTQ{Klakmhm4{d^?4*-u)PDR=RcgPP!hl^03^*a#- z-3IdDM|E-G`oD?|>0fq4r$3bYGGTd-K{wCpkHgqKltzqGhXDSdo35xg|09n0tlny$ zDMXcMsk0bk`$8ixp+hPOCZc-}yS+`jpf|1iAo#eyvxE7TXZUZH-_Cb_+{gvd>M3zr z41G9eAi7gzN1PwHpF*MztpKB$*Wh{a0YxuwV!Lx#7)XGgF}hjkTN|#jz=?~$z0v*C zY`xJWYDk;Q%pHERFD|fc3|j;~H_GjMa`|U2ZwZ zY4@4x#CGX*@~lyzd|$f3G&8h}YeA==Kj?_giBFD0&93iZk>0Y|6VrRRqlbg^mTvLe z?kvoKv623DHeJ*W7TUs+^_I>qeEj_sYf@ z)pOpds2VqO0_Ag-|LL69P$#J+8GFpDR>SVwRzJy)*Ge ziSC}MK|J)47k1uKfD9x_<$L@v%zQe6#=GH+j?DXuU2ouwA{SIXhcc>-25PT7j1{uY z-6vbP#}>Ux-9y7iw?`XRoj@aDwND$S74S;{*d6Zkh32^3gIQTMwI31?EY`vYOHl?cPF9!lJ;6Dkh~B0`fe2fjR}Go6eU9&zK$YF7C^Xk+s- zr!XNIND8~tjA)&65U6*#wd4EzepspcUlBcC#h3}=@aS0G$3PLzp$YYvxUHrQx$IXR zjANYrDk%?xS(hH%7NNThBO{N!Z6ljL@Xx7-+@r8MyGiTU-?GC`&2P7m>dgUsZaDxP zh<5-+cg9JC$ZIJclP2EEaIWoNzGK`hVBD;i{)4F(?)qBtXvXEolIQEEvlQpXefuQ- zx6h5K&p)wlKQdw8uYWUZe|MU!kG*ERwsLG+T2F=G#ZdqqBD32W=g+2ZzZWHpJ_i87 z`sk14U4l=l6MRP%043HUG9$@YA-@KY5d5Bm;JgAPx7eaC2ofoT=1_ncQ3m!_1ADh! zD9gXTOGI#g62f$75efp}2vLyv7QvV3SIN6y6XwT$A|1Kco(fg_v*5+5s|Hh?V>5cn z^{{NE8>wEfPk1lSKYG_L)Eq!Yq(f{*`orn7^n>?+$JDh8|d`Vcfz=mOHQuGY+|t^@%-V9Nv8KqL^x7LeK8G*v(+#J@F0CWURY` zQ2Ig^Ad<`G#QPH#DjDG}Ov5H8s-_;$mgX)RLw9EZuaDY}M91)ssG{L!q=NB2q#CWWLgsYQioJx+snjCd;$ZIx{Y}dkbS{Ep>I!iO{5y#+|6Zntl8uAuwvnhISE~5$%}X@*?j3r+Zajv7cyu$?6&) zMXc9O?*Qx;4!wM;SVp7+7zt$DrVZ5x6#8`s1KddqJa}MQG*}WbzZcg4I)F^uLqa9Vcnk5V zrH9i9{Bq_0=l81r(s;q&;beKd{RQ4PF4%#BzIQN22=Us|THQgePUK;Ic#~R-n~ScE z_RVS6n%dmnTB+W1lP|7uTt%@fkox_pJvT~oP zFuv8XR8{8n)gdc;;>vly-&Gx%um(zAx3erqR{l}+4zl|`PHqs$Y)+ao@w#H7Y;$xi zg5|=V9q*{@kN0J~Je&u{?<8d}nLKKkiT5=5s9NqD*j|+T;;2pj+IP>cGGv4?lO7TG zzM07J^N>kFS+mpOX%uVVv$yxxmmRD-a4RO78GP7_rD3J-_a5t2ympnD_QgJ^N-twSb6cf7d;+);hwwf&**Lb z`KYDMNg3@dV%7VCV`=91wJgzbK&{7V@1kwP zm1BR&Pya)dH2i6bfQ^>bg?wtDaW{$W*?i(a13>$+u=^7x<(0V|wY^`#4&F{;bQ*=M z8Jx!B^*iAhfs<#xQym-VdxFP5XX^Brf}%Ft|Cqp@kf|AP@%90V?Y2}(boqkd^2%|)`NZCdoiriuXjkC{E$62GqN#<-YFNEJtpD)VP)L3 zRZE0zk+ylVgFoQ*ca3R|EG<`r&+FEh0X@-!gK_dFgn!$vkM!*5g>2OwQg3H`)`oC4 zpcjeqDaYMq4-hgM+7*xJ(=A?9Zd9rygZ5CQwaUi7nO~8hOi-af5xI=Kk3!~VAtV+ zinm-AGi5J!MlT^InQF<3sh_JryI8RA+pk(?mq<@f4#UD>ua4Xza{=OL_Hl<68h3Do!~<8LprviD)Z$?!~lPl;-HrQYc2WDYJJ0!X_^4zh|1Tb5@NKy zOS|q;+uSO5(lu2mhR=wg`k&y3qwT4X_E5;#y ziL?r-X4J2khiR#hPV;pEo5_!V*;u*1lakHeRSO7zvt%n3!lzLk0GyMZzX|@qgjDGM zSytr|oapu8!@9WzsWUy3X6&EX!L9!X#y~m0p;FlhvJ!l5DGHA{$|-WnI`#^pzt;;#N1-V_*Q{Wd2Bc{KAyBVu`6)nV@U0gb_)t4!=sZj z^N7;yD4t3iV&;jRGrh!K$R)=4C2!IWWVgVj>{R?H5fp=Fek#w_AJuq%? z&rIqkzacG4okOj-y!nP)0;H1pFm-5s3Ejy0QTPZinM+y8GLLLk8 zLrpS(>}jMtPldV>sgQP!i%A;@NGY5e&1ATqYJMWOHL*1VoUJ4#T%bN8h)D#7>-JJ% z(#896{lh`S#7gEjnYF~-z#?bHRO%u&@Z70vCZA8pS>OM+O$=Wq#5|=92{uqTWE$6| zx1=-MU{;k#G_*Zkh)zBgnx`-)v{($Br%UIxDx)TaF&yb^2%_U8zZJNfOl~`0V9Z&? zoOwuWEoKv1jI-iAsNp=W%rTD-iKok1&*=Gsou{prK?GuKOzNaUUN>B(ejsYeL@cEG zR`90b&`NoQhV$l(IlLdcCAJD8XjR*_ma&Br%XfC+5Dtj(v+g1MJq7FzK z^>QH@k+w(@=D0axrQrVqI!Fnhq=vjeY^8oB$T+{UCMWJMZ4QU#wm2s9RAgj;^N-Bi z+)MJ>8cifI=2KYv#yPRaLpwr4vSsp5iN;9eyW`gAmTV@GF08Ro{{&ieqzURb07V%P zyd^sDmFjZ9^fXxcJt{ag(M6POn6#LcbK!7Uv@I_ZXAof8!%UYfSt5!l=R>fwmC%#_1p9HAfp_Boc254OIU^z-HqA8AEVOY1yRjA!%WFz76PXD~z@MYL5@ zkz~eX3Xc5jWd_Cq-hyW*77Ae%b~v8M#X^sYMS~*>=Z7K*c_XcB9&{`f8spg|*c~Fw z8fYzGmgTYn>qml)!O)ar*G`+7)o(PJ$VT#smn~Pjh&G4hvq&=dh#$w{3HS>wB5tC! zE9@MHg8ryE8!D4bd}Sgn63)-f=B%dxt)V)+CQIhrU|f~|EPy6}r2rcM z@P2`v0DA!r0vwN(zBfp_lg8_gAJaWBK6eDU?}1^g^!-E?+#}?5Z;$EDnc^KlDc~=2 zK(z5HcfRMlO5W`aeKC(C!}B4SEfoI9i?|!-ta=>q2r#7eDM5?N4c{We0~J@{a$PsFSNYq60;+A0+9SK$|2k(;3$?&L-(QyTJ%l@l`#lC97PU*__5jPZR9 zdwZJu<7`4=s^F{`*7oH1B1_bjz;_b(9zPJ}c_}MB0p;V&Zg^XCYdLMIr{&cKdN>!6 z!Er$d48M;*k!@kV=JZ;TXlyW-NI{e0-93UwRc9)abDIalARdWB|BdEhsh359m@CLi zZjs~NG>-h*Wv!u{_OH_S4?35v;1eG%bodttJ`&!^Nsib3`PFI8 zIODr0coEf;NQxfa266BoAG`VfG|Xzz(FCF~jsXlacdq!VaQGK2o6^OxQCxxHi5R~S zjGvl^`quV@hWl6cu94veGuerx;8N{{Xr3Pg#_$k;o^7cW@Sr#%!d1weaO>EdIX5*e zHDA2UU&&w$CUxM+#}!WiNs5Pcyv+T$d`696D<-lMXUWi7Vmp(RQquT5&dhOI<{}TF z%{ATjjM0eP71lvM&JqoYEf0&och$tVH}c`o(3V72?3JhZOzB^CYX0B(r>!TnRev7$ z;tcMqkSCT)k8X8BQ}KNIoLES$>0h<(dAUkmf-8D4-}Uz_Dee;pGpxij+t2{K3J(aq z#KS;IaDj7uWuj|RXZfy|=c<(U+#qk~a(}KztTB+@P;*KSlCFudF>D&A9XDxUEZK}= z%o>euFCI8)zgzcF-}>G9-TK}7-TK}7-TIaD)88Z5|1x6-0S*Hk1vn0H65uqz*_Utp zEkAXpA|y-jje^x_Cpi2GZo;M>#0*oG>`c7_>y z6}|`H`^748FWSFWiTlnTs}}c|4Oa_cvG>6DKpSI!1mBMNj6E2HI>EOazI`hg8-wrc z0q}=!9M+uQgKx)L#vYl**qQZ=CE(k)5%PiWiRT#m8GJ8qVk}(4*pU|?P7S^t!q`2x zF?L~$v3J5Z36*~@eA^R@eFna};ro5~9)Z@Vt!3=B3C8Bb_YAb{9{6^=i?J`kHw)i? zg>PsFV{e|$Sp9#2zJl)__`VCim)^tJ$Kc!a3S&Q+F5YIJce{9dy%)Z-_b|2^zKwT^ zHy;oFDr3Kj??3(;W1qt}A;JA3zSsCc#{LDqN5Fpn46uKQvE}fc0{aKyJ9rmkpM~#P z`2HI{O8-01uK4Kq??QXP_t3`}`+fNC`8c!}e2>C+9Lg|!kg?x{?+*BW1>b|e8}fng zzE3jt0KO@B50nqSXW+X7zURNj*r(uo^)DFv=AGi*tyz#~{5y=TfbWj)LDuj+d6BUn z+$G-Fnq3e0`45ae3*SkwzYo5R|H9a};d>6g)sW}nA3z(yxBiEWy#U{t{|fj5-!rd6 zT=?$2%Gf`^_r#CHJ7Tl{Cu0loJH?oV?}+`Fu@A#{=}#H^5xyt(GsfO_FVwp_z@CBc zhG_xzLHIV@7GS5~8-wrn(f3O&0(zWP4In`u_f@mynwL@_%0q{?Dyb1{8^|Ae0M*?*jw-| zv1b7v;d^oe;2*vpwg$!xzBe|^SPs6&J_qdt-^OE%eFWbb1N%YvUib|3GrmDK1a*e* zwLfF*Z{U023yf9Gf-ql&_JMCRtSaWg_cg$iA^Z*k9>BL}HS`gDYd-~U@XdZ6@Dsk* z0Dq6ccOST4gzs^{haY1&DDT_e4CPqJ*c0$Q{YA#s!}k#2!G8EQLA^c;--D+Z`!alC zD6ns%y-m=qBaeu8@Ao~(*j)HtgaAw6dlKkFAAHY2dqPvNrMTY;fN$>NCE7b+oV^de zry(5}3hXK@DSs2bJE6S~VSMPfKgKW6moMS@Kfu?K{@^>O@U4gM|3EqkZS!yNZNS0+ zJ-W7;vD@*&uP9@03J83B80i({(+=O6K%d?Y-;1q`b;36U1?q$EN$?+n?-i)qG{hNz zw*ov0Fb|*upch~OU<1I509yfm8Q?boJ_hhum|9`0sa8sGxD95zXG@j@I!z%0O|o}9|o8Yuo&?e;CX-);xfR01^6w1PXYWn zz*&I51Go$@1yJ)=s1Ly701E)R0R{nL0NVlH53m>DcLDwY;7;U*6zH0$2|) zCf{_}1Mp#h!vKE@a1P-606zk#1{}Q?;7NckfM)2dy6!g{`O zfv2d#k=j>AC%fev$RsS60&%#A(5u!C3`B;8*YvMiF3jtCyN6e=VMBwx-Tj>dk^Y_` z#*Y<5@ZtX6HLa2Ly`6)rR}C>o(lk|J#;1((EP_&?5&oR7FsfIOZ7Y938LZi4B-tK| zgK4Xk%cIH)->5|C*SEwJivf4$2e*6|D*N6cU#O2)DGhG>M!6?E*pPLpSutuph^^3m>Lgp*W%&A$VJB%L05?ej>}n-$5Jk z5FxoF9AN0$bj-?i77F-&2p?2T2q(v*`FCa#C_sd@>qfykmgmyw{U{eB%`mXJKW4a~ zwLQGX%5!-N@M6@AGW8f{VMlYgGqx2mQu;V;;g&_M3tPjuZJCQGabu=g@w!W>ZC^AU z18#W?$PtSt#^ZqY5*g!|PJ2hYmJX+0%;d&32*Rz+&BeUA7{XevBh)Xq$rDIx{5-?0 zEgjJ4D1030lP8}-tdkktGU;_u7&%2zG%;qvt*!0QN<4-Xu~w@cnwZ%uZEb^LFacvY z850H}VUMYH%;%^kE(={IrH%2anPptonECmITie<@I>OzVR0>)>GAspzbvq1q1Z)cE zYCAj%|EiYS&djb-5I5Y~-rC+=jJZZg-?}5aJVf8y_JWd61SIEjjU4U!dsvdo4>B$Z z1Xg)6ArA~t+)%yVj&n#+KAS%kuS7(Egl&bA&R?{k-L9imSdl1na`{+hbd=(_;noFh zK#GcO$29}+7#`2r^UTW~qAdhMsl1n)vU4~>gheC*EY$fN&gCeX*)`m{u(`!98b4-W zP8$T7zo5ezWQZ#z7@Wc|rvZWM#XgDPl*!SR8SN}KkrRy@&x+MPing&>CSB;tWumds zD9&;`WVo%R9dJYpMxKO_^W+aVnO%7#q@cu`3ufwZY)6Q&pt+cfRgh?*+acJ(g$u&V za;Urt&b>wUK=^xlgxgw?)``a8bcnVNae#nr#a2YA3n6}`+acIOsGx8bqk)T9(o|i} zWA3pIG(;SMO3}h_Tl<1$XS(hrg^Sc)?8h=Ay?BB>!7||3%Kx^2>wF+WPqHV`)B$Kj zljyNkc0HWKe2$q5>oqXVZ&~1o-jCds%K-u|ETRgYh${JUW^jVQi(11^v!}tdux&xJ zOdrR_pwMb|IY2-NH&n>=zBCa{vZ4X7)f%$6mh)DeQlSapPYVwZ1ur7eM0OQ4w_t^g zj{NPb7lGgucxv0(wrrX!DTLcPaCFC`x#7&(EIx@w&7*Ow&Z1VJr2Ni6>}4#y_aqdd3VR;Wg}y&1Tf!5laYXJEq0XOdPY%+qd{5y}6wH!lQaLGD5_CBz7m z(t0R8=FQ(L;~9=7fn`OuoB_Fw0>jzf(pqdG64~W|QoqHngH{oIQhUpSVt=o(QW-wQ zB+{da5fo$H&b)mfDx&1-v~mXO8%+UcKOEfxtdf^|jGNVhNLo3EAel+&RKN*D7*UWh znc#yh$~iA+IH~6Zg;)ekr(Icr2Kc6($t@nkK5A`VK%=Zc@j}fi^qe3lva|w=*Pv7< zB_+fm+};Mmm-liX_B5<{hBL*EcRE4XMXep2gSQunzz(?_Qn2hmZVj2naQi|S%3a%m z8$wzGsAS>Wd@ctrIUa6DzG{t?O>Q5~2&IYMTn<{#;Dovx(B@$v4?vZL6dO*Wj2Lkl z0wG#kTNJw|m^on3m~Q9NBjQLMSOse=G0DdYQ}T1+`GBwCzGxoSOZc83BS!qg`G!%b z2@13@js)TP^I`r9OGy~3pUTBZ8yAQ~9=ua%jO4_sQ_k#sXS>@rV$aTBxCppLBxhXi z!-`SP)WaF&o?!JJ%?_ob{P8Z9SBCI>U>DoNP8Q8+D~gXmU|f*_^C8xZ-Nlup!6_A; zl&dCa6tQ%ezo?@PyH{iATn=HFjyu8w?LElnbY%*w$NFQ%1*nJf2-GEQ6~wA2Gd2cG z5?JOXVDEn+F`2xeRI1uL4u8FN8PYr7zVd^kZP^Fiox z$Zttx2dptHN6W$%zHBV&H;MjryFk!I3wh8rgaF#X4X$CBHempD=8#g$jTi_P+s+J5 z5EzOd?#Wnr;ocYJG=#ZbAm}0px;Ag|agI*ZEE>426(&edHUtAnjHqFSdf3qd6N1_h z8mDz!iEOoUKq>nMnZq(FcaaLHRRwm4Aa^H3$*}U0y)wB0BZ1o?IMs~8RD)W>Ru11l zW`kBPr5HSW2@qb;j*~2IzDU_KvG{d4gcr6fQBo6 zrdjiHTOpy`#uK9~&yU(5K8`wvPOei!m&r9ECqYst8=?VcquAgTz{D_O1kZLLMdnu+@$OqnvAK%k3t!E5ra| zF8xGODg@uq@byu4-VEV|$Rj(#_ZL|!59jd04v~9nqwFBODZHqoU9uCvq$1xC zOW`{%ZWsRPkFh9zS!aIBAiod>W#n5~=imTzCbM$62uvgRg~=QzO_ti8w~}LY*{w*R zpn%a>3>&ZoSy163Fl+ThAv;lsP$iNfskyXWroL=+>?Aj zw;T1`rIWqCE4OFxCL6MD!yN|cBOJwpyn{j^UO0*Ob=RQUyKsQ%df2`{NiKNk>V&g# zy?`IYx{TkWWIKu%eY^SlyM39=mWZNezZMeUZ6U2?Hw&O_sH1FkxcExZiXuelC3MB+F^)_uxpZ~}062v#Q0_TZLD zk0r+Qy_44HM1gAyNnV35aAJ(>?}2M^%QnwfgeiU&k>!Yt%88uA%;NP|LbnMUsWX?0 zZXe*g)>Prik~141zy#`!u|!_#MyyT?JjKY$EaJpfM+3%zqqR<+B8+nkfWT5C1Q$fu zl%qmd8x=!vB`&D|+H5)2yxO#KER9e*Lm@9`bA_{FEQ>22V1Y1oz5=rkLU7Ei8eX?L zi)aP&#L8%H%c>}@UOV$eM<{$^Y*KIM<}km5N#^C<2QUIA#c)$dLj$b$&G-N6aGIx(cZva*h}tmh&+T$0LX!XcbH} zlyn&^2POF{Qcq6(`tyQrh+W8{pUtPJ^+M5W^%xf;7UdL0=^{L|YL#wvy^c(T&v?A$ zdlFj}MV3>jXjPRKr{`))7|!$}mo$dWyDXYWiems6f7xhp4+^~2MRN(@on(DGM@Ow} z@hl3-V6pU_BYAnqBztDqN?O@WPKIW^_=c@$5;aX)g|%|Z#DKSfN6+gK&3j@?=7EVXGaOvMv7h42Htfbd1j zFtPML0~SbQ)XGa7mTf9AAJ4gpOEau1x(IelT4ea;)C;;bNcbopPj+9o`hmGzY8A2M$s z8e+2G;f15T6GH{*%4Cvu`8W?Qk{Ie)!DGoUAH&kz-KAnLFE%qiWrwqdm_UFujPq{q zPVt=Z15T2RpiQ!ced3G>kH3rCPB_g8o*P4;R}l}ebMRQHNB|KZxR#zgxZ+bJmSY_e zpyLfCmY9;qBr8DZeQb2>yHu<*H!izmI0J!uCtbaWYh8i2YE+Q${5&!`$%iE03$V$M zvr>>FgmY9)3~OFHTqL4he-I+*J0a5YF8@rzf z!dV50|3#;6+&1K01C$r{vpFdr8nx0urZR?Xur-h!m)t#WtJ>H*IFXMl>?k@8@O=t3 z7(_L(Tq_pHn9#l z(#CNuI@?Ln?XF+0u)&Vhn~UZ-cHs4Z_*S#3SGSc&QbbbwTdu7y+S_hVJXo`~JIlax zCr)Bd*~SDegFGCS?Mp+lI52R%#r1K#C{)k|HL@rppfIoq*s;=tlY*!Hc;XmsNR&`a?)PT!0um-Bo8v@o; z)z#Hh1#0T510rA`P*YRY%DwAbc_P8C>bf45gWy#!Wg$d;FpDLCXz1HjQw!vJy-+3uG^uY zT{8lZ1Fx&dPy7d$nqZ)YrwE^5*BxC@@;hsSSh52(m z6XXI_JiP$MfZEqp1?r$tW$js4ji_&ZO%OA|RHyM$)u+0GQ1#lfx1>3 zi>k7aN;mWyd;;8YRx98T;zp+j58ykSL@fI=a3F;|r9lYGqky z(E6%uPj!8u4uZ)+0C_;;-^2Sm0MYN^Y1CCg26xGBzAK1-cs}4)Qy<_TKIqX92-L%0 z;dUpYDCVYyPiwHNN)Du~s8bI#R9&zhQ>@`R-o^8(pN7VodT1bSh0!jGm8-AfK7p=U zaKQ4^VtHyYpJ_5oOFeW)m9#(ubFZ4N`;dke!{j0DV4WOKfx52h=0$lN4!7Z7RQIU| zcrUS&>U7N+qnsjG#0S~J0ZTeUEw zzSaYHe^9kBquv(UQ&NWu^|#Re8&a1G^|&4aS z8MN<^x?ZT~h4&JEP3nB1z8BhSrU^6Zv!MOyX+j4K^}kT{aL-_8iwB^b=Z>9{}WP|4fWX2|C>^$4fWWtyqBeJ8|t&6{!h&e;fMN4 z82-^2!VmS^UcmberOq4bwPE~^OWilrd&7&Fzb19yQ2%Wb>^K zt2joaZXD{xLALCa)R9B|I7~lqhcKg_+&-}X(jCH#`f})hMC#6=-W=lJccl&;>P=z! zZ@W|Ejrwz#f9st>rw;Y5aJ-F4-8$5(!}9-z)UiW-y2D`qlGL?BJv;2rOH$_!_3SXe z$L|thQNQj8*f&cZJk-C#^#3oZi-&r6Xb;v4GwR`Cdh_c=T-1L$hIed99X-^``vTGf zsjG+jaag`9QfCkK_5K{}_unndsJC|t@2r+Oe5k*N`E8TBe5l9w4a5hj(}((eX#cj< z?L)o3Z-Tw*9$`lPzP|$dWA_L%>iMC)U+Vm!zTdaOzFq46q2Ax$g8kD{2N3oDu)KHN zE6k_|i1xSNE6k`5i1iu_a=1;QJ?S%(&_tz8TAS={{{C6GwK(haAC2%SWv zZAjCQ{+y9Iil}G!)_~AaL|sMHOPmuBx{63Uk!B)2eW%o2M4F2Bh}2<3y+jP3le&yZ zlhOV@sndx1jA;Le)NMrlL(Ko6)N#Zx=>J)%>xlY=IG#>PokvU){r^VlKBC@ZI3RQ% z(Tw_uXrC!{AyF@}H6U~$k=7!OMg6`ZsT+wjr8^*WBT+{Z^&JsEc1T@GbVK`VQfG3X z9KRovx|3Lj{(#V(MB0lq7ws3NE+y6h!~a<7R3Z&PJL*(oUf9NHe?sb5;+%)}^-|Xo z>wx9oFLf@FCgAx0tkk{4K12JLr4A;BSt)feQ5O?wIHrf>4(&+GP=|4KKOE!yLiZ8J z?5E}Ti}H(lklO=77ZPa@>O;OiAao)>5)gWkm>%jz@-Zy!{nCzlk{=HUT}iZ~z9f#F zJu)2XP5!rl(4EA3d`7yX4&`S8LXQ&Tp)MtkksnHb)TzYwLA}aj0ij#@rGU_{{Axhx zSbj4g^emB9KQC!OO4?E9@$)M0z#rmMm>brtMZ}ojap}UIx{iOV&4(slq&}048pwMOgNKojrBL1OH z>u(2zUhAQt&~3$WkNT~c59+w$-3zGadNe3>T|XZb`mSFN3Z2()1clz~cY;Fq^}9i# z|N8$0g$^vzNYsPH@}Ms4>p`Ipi{(e1*lR(d7mIj_y0JK}P(SwDl9u5b1@+30R5|a- zxLED9e<0|ze@L^hndY=_s@3lNt#jJj?{eDDYWAb|I_*Ex?4O&d-2?n4r+t@Zf9ou# z{hu{^*PEU8zkR@I&%D)XfBJ1s`$5g#_lVQJyit3nK(niP1-l^)X}$L`=wtZ)eTVIb zP5jrupTCIh2Y&B_z(?Tw8}My|v2ht`1K{klK@n#*@~bla7aG0qL^<3j(l-6R+9>ii z{r;v=6ky;L+!7EL>gCOgLGi*8?Nbf;(gezWLnhr^UN zbJO1!!~J8?^j(=soh&c5)0ZU9BkKHaji5nzW86!?58f@?e;1^Hs8}uI)yeRut5v=* zwxk*N3;q$zp_!szuSj={`xE?AeUaxI42qKe|7D#Id{^`S$It$#rB$nz7Q;7vV=`J= zwQ87JnXFn_tXdjP<{B2GVVI1DVQN@RRz|xS4Pn@2m&Ib-VXk49(J)MQ8Ri;(uh)6M z&)MgDe)sX{@pNB1=W{;)Kkv^u@Av1+E*+u&J&x=A5T^u~r-uxt`PvX}-(Ty0!?d@493szU8TwUcS3QJKIS_}_G5mYQNeRGzrVAEQ%e*cGSbBL?~1K?+z(-?tnh`?8!vq%MoW?`bcC2iXST4?Lgb5V1-6!2hz{(D$&7 zwPJ^et(gL1+iGQlKXW!1BIk`%g4nKF^;R7k`@t#P4`Se*0LFo_+{1t;f;r)`Un~Zvf>mG~*Z@ug+rwr5)dx=J zo?wKW6B7&008_x3+=GC#z#?!q>j|90eCc&H`uA=yne7KIWI7|o7K#JUV*P*@u)e`; zwmZo4j_X1G2*&`p$9|!Ud6w-pN^Dy{&wpaOfzPqNN6Gw%G1LdIQQgp9ko2pM;gqh*}MjFvqU&vJT^`2ZW( zkCa8=KUm-3%d8*p71j^Wc4GUDmc14y{a0D9;6CHP~KFQPMvBQPMsousdJlJODOvUYQ{6)BrYf++q!V zlk*Yy7SDk@T-KaYu$A|LAM-x2gX0YR4;YTU_otlqju6|w0sK5j_UvDPZAZwSntSl? znSQkFk@LX+aom6dEGPH}(*gfvKLdk;Wv?6p<{v3*UIBOrSbC(iPxX<~K21kT`*3f} z_USlM+9w(7dI|T2N68x2e3Y!+E#N|qpQDB0;2B&Wj+S$-O29L@PJw4}odWs0P)*=c zuA8ufmvP+$m$N_mZ&K)%x%05@>nfz5OU$2oW< z=Tq=b&d=ao9M{TP@NTvrSjOio`@wtoeArA|_*`WIxRvSp#dgU6?`3)X@@}XAtYCiv zAK-ioKFH^RmFzFzPWD^Byd&xbt2uv97Dj@Pa{dM%1GB(goNvGymUpuB&m!;>*7s!T zr-jF2J>a)8a5`86#&f(LEALi%l##~?qrjOQx5`X#7W*BT09Gg~!P(%zaq{jZ7KY)e zU=nya`yH6a@vf`@H?UvEh;7!X>{j-HSA+dZ>v&-}xRK*PnGP249T9j9Z9wokj*ltA z0`PjU1iXRc1H36%&Tr#8oo4D_*AzLoG2#T&4H&6RRHlG8f$88TuoJw4_njc)C>)df zouD7Qo7cz6`j`ry!S;!jbJ((#rOL8cSwACB#I;;^z{Q+zz$I*7W!{PMPA?x!qa6h< zqkfW{>sEY{*vuv18jdsYX7(qrnEf8Sh5bO;dXl`W>;y|_?@Sf?z}wi5!8>TLfcLQ< zPnCY#IaT^=*Hr1Rd2!PJ^5dlcRVb_Dq#uS(lX*03n#`ja%FJmppJs#aaNL3aqWz+* zo~H9G_&(=%WiQyq{GANDocRLVIUbe$;76>#>C*r6rpvs{^Zf3oy*^#`B(2~!+70n? zE?*M(AnjOXAy~!h!JVAnW?&q09R#bnzW^WOec&$6ci`jP?PA{Az_IceLvCq5ah+Q5vSM2iCxnh?W z%@wH(E z=AqC9G7se{^A^bbQ?fwjpSA@upK$SC&UJC2%qtlS<(+a7xPtWqo=baYp}gA;hmo+7 z;}KlN^v{s_r|JwjN4F0=pY@v}`+`bv9mjEs><^O9ly5La;Ckj4{2TkzB3Z|?7s)za zzev{czD2T*C!8hgcPe-l+aJ7|~G5YRGCjZm0hVauU0G;RxXx#wSKY8t6htAUR@&dY1$ICE0&1ekhetah6-in z60sY?mWsU)zf|Vk6mT2Mxm4!eTxH%;nSblShu9C4J>Yist2B9^6A$iS{iccCP@E?7 zb$Oc1&lTX`*`DBT&Y$4pY}aM-?I{9$lIbiHdpvWQyn`uNCU$x0GO@eMmWkcnx=i*@ zUCM6o1>Ogv@Fm{2T=q?c%Vpoxuw3l&R%P3AvCmV^7W+IKe4XR&Z25LobGF#$4a!Dv zKl7I^>q;8`+yqoYu3NA1N@fho{P5R z_)}({EBl3f@F2?#{+IOy{>b~mpV)shgfU^o9d%FFSzm9qcHQRc3ceMrel*@x69YgfvCqq z_MMf=s@1aptXnPn&nEC_=6kigL+o8G-yZ#$mURrjO)7K1Nwh0LKg$hHX1T#*`Hm5c z;r-wg+OgmXv|HB*Bi6{b%y{rb<`bL>=7DjvPr+%lhu4UmPUj&q^gOZGW6l$MJ?T8L z$Ft58d%XNSvBUR*bHI9VF7u;oJ5Sz;_Ma#AdDvRZI*s`NlUOeBbUuHrd^2rQHiPq7 z&tNk1k%c7!OaRYdy?`lfA7v$YCVlm?1g?8JNa$gUk3H z0bI^}UVwE7^noi_Ztz^z+XeD&Hw|3L`cvkEt62^(lkE$xVY!t97s$8YgmuD1a4p|A zfLY8xcs~0FcmeMR*RegpY%nex>lNz@T+jQmcro)0Uc!FQ-&SRLFT}dV{9h>h zptK8R-@{+Pxw)=Y7-&BHy%

H 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 4) { + InitExtraWitches(); + } + float time = GetGameTime(); + for(int i = 0; i < TOTAL_NUM_SPECIALS; i++) { + g_lastSpawnTime[i] = time; + g_spawnLimit[i] = 1; + g_spawnCount[i] = 0; + } +} +void Director_OnMapEnd() { + for(int i = 0; i <= DIRECTOR_WITCH_MAX_WITCHES; i++) { + g_extraWitchFlowPositions[i] = 0.0; + } + delete witchSpawnTimer; +} + +void Cvar_SpecialSpawningChange(ConVar convar, const char[] oldValue, const char[] newValue) { + if(convar.IntValue & 2 && abmExtraCount > 4) { + if(witchSpawnTimer == null) + witchSpawnTimer = CreateTimer(DIRECTOR_WITCH_CHECK_TIME, Timer_DirectorWitch, _, TIMER_REPEAT); + } else { + delete witchSpawnTimer; + } +} + +void Event_WitchSpawn(Event event, const char[] name, bool dontBroadcast) { + g_spawnCount[Special_Witch]++; +} +void Director_OnClientPutInServer(int client) { + if(client > 0 && GetClientTeam(client) == 3) { + int class = GetEntProp(client, Prop_Send, "m_zombieClass"); + g_spawnCount[class]++; + } +} +void Event_PlayerDeath(Event event, const char[] name, bool dontBroadcast) { + int client = GetClientOfUserId(event.GetInt("userid")); + if(client > 0 && GetClientTeam(client) == 3) { + int class = GetEntProp(client, Prop_Send, "m_zombieClass"); + g_spawnCount[class]--; + } +} + +/// METHODS + +void InitExtraWitches() { + float flowMax = L4D2Direct_GetMapMaxFlowDistance() - FLOW_CUTOFF; + // Just in case we don't have max flow or the map is extremely tiny, don't run: + if(flowMax > 0.0) { + int count = abmExtraCount; + if(count < 4) count = 4; + // Calculate the number of witches we want to spawn. + // We bias the dice roll to the right. We slowly increase min based on player count to shift distribution to the right + int min = RoundToFloor(float(count - 4) / 4.0); + extraWitchCount = DiceRoll(min, DIRECTOR_WITCH_MAX_WITCHES, DIRECTOR_WITCH_ROLLS, BIAS_LEFT); + PrintDebug(DEBUG_SPAWNLOGIC, "InitExtraWitches: %d witches (min=%d, max=%d, rolls=%d) checkInterval=%f", extraWitchCount, min, DIRECTOR_WITCH_MAX_WITCHES, DIRECTOR_WITCH_ROLLS, DIRECTOR_WITCH_CHECK_TIME); + for(int i = 0; i <= extraWitchCount; i++) { + g_extraWitchFlowPositions[i] = GetURandomFloat() * (flowMax-FLOW_CUTOFF) + FLOW_CUTOFF; + PrintDebug(DEBUG_SPAWNLOGIC, "Witch position #%d: flow %.2f (%.0f%%)", i, g_extraWitchFlowPositions[i], g_extraWitchFlowPositions[i] / flowMax); + } + witchSpawnTimer = CreateTimer(DIRECTOR_WITCH_CHECK_TIME, Timer_DirectorWitch, _, TIMER_REPEAT); + } +} + +void Director_PrintDebug(int client) { + PrintToConsole(client, "===Extra Witches==="); + PrintToConsole(client, "Map Bounds: [%f, %f]", FLOW_CUTOFF, L4D2Direct_GetMapMaxFlowDistance() - (FLOW_CUTOFF*2.0)); + PrintToConsole(client, "Total Witches Spawned: %d | Target: %d", g_spawnCount[Special_Witch], extraWitchCount); + for(int i = 0; i < extraWitchCount && i < DIRECTOR_WITCH_MAX_WITCHES; i++) { + PrintToConsole(client, "%d. %f", i, g_extraWitchFlowPositions[i]); + } +} + +void Director_RandomizeLimits() { + // We add +1 to spice it up + int max = RoundToCeil(float(abmExtraCount - 4) / 4) + 1; + for(int i = 0; i < NUM_SPECIALS; i++) { + specialType special = view_as(i); + g_spawnLimit[i] = GetRandomInt(0, max); + } +} + +/// TIMERS + +Action Timer_Director(Handle h) { + if(abmExtraCount <= 4) return Plugin_Continue; + float time = GetGameTime(); + + // Calculate the new highest flow + int highestPlayer = L4D_GetHighestFlowSurvivor(); + float flow = L4D2Direct_GetFlowDistance(highestPlayer); + if(flow > highestFlowAchieved) { + highestFlowAchieved = flow; + } + + for(int i = 0; i < NUM_SPECIALS; i++) { + specialType special = view_as(i); + // Skip if we hit our limit, or too soon: + if(g_spawnCount[i] >= g_spawnLimit[i]) continue; + if(time - g_lastSpawnTime[i] < DIRECTOR_MIN_SPAWN_TIME) continue; + + if(GetURandomFloat() < DIRECTOR_SPAWN_CHANCE) { + DirectorSpawn(special); + } + } + + if(GetURandomFloat() < DIRECTOR_CHANGE_LIMIT_CHANCE) { + Director_RandomizeLimits(); + } + + return Plugin_Continue; +} + + +Action Timer_DirectorWitch(Handle h) { + if(g_spawnCount[Special_Witch] < extraWitchCount) { //&& time - g_lastSpawnTimes.witch > DIRECTOR_WITCH_MIN_TIME + for(int i = 0; i <= extraWitchCount; i++) { + if(g_extraWitchFlowPositions[i] > 0.0 && highestFlowAchieved >= g_extraWitchFlowPositions[i]) { + // Reset the flow so we don't spawn another + g_extraWitchFlowPositions[i] = 0.0; + DirectorSpawn(Special_Witch); + break; + } + } + } + return Plugin_Continue; +} + +// UTIL functions +void DirectorSpawn(specialType special) { + PrintChatToAdmins("EPI: DirectorSpawn(%s) (dont worry about it)", SPECIAL_IDS[view_as(special)]); + int player = L4D_GetHighestFlowSurvivor(); + PrintDebug(DEBUG_SPAWNLOGIC, "Director: spawning %s from %N (cnt=%d,lim=%d)", SPECIAL_IDS[view_as(special)], player, g_spawnCount[view_as(special)], g_spawnLimit[view_as(special)]); + PrintToServer("[EPI] Spawning %s On %N", SPECIAL_IDS[view_as(special)], player); + if(special != Special_Witch && special != Special_Tank) { + // Bypass director + int bot = CreateFakeClient("EPI_BOT"); + if (bot != 0) { + ChangeClientTeam(bot, 3); + CreateTimer(0.1, Timer_Kick, bot); + } + } + CheatCommand(player, "z_spawn_old", SPECIAL_IDS[view_as(special)], "auto"); + g_lastSpawnTime[view_as(special)] = GetGameTime(); +} + +// TODO: make +void DirectSpawn(specialType special, const float pos[3]) { + +} \ No newline at end of file diff --git a/scripting/l4d2_extraplayeritems.sp b/scripting/l4d2_extraplayeritems.sp index 0db8655..7084eff 100644 --- a/scripting/l4d2_extraplayeritems.sp +++ b/scripting/l4d2_extraplayeritems.sp @@ -28,10 +28,7 @@ #define EXTRA_PLAYER_HUD_UPDATE_INTERVAL 0.8 //Sets abmExtraCount to this value if set // #define DEBUG_FORCE_PLAYERS 7 -#define DIRECTOR_WITCH_MIN_TIME 120 // The minimum amount of time to pass since last witch spawn for the next extra witch to spawn -#define DIRECTOR_WITCH_CHECK_TIME 30.0 // How often to check if a witch should be spawned -#define DIRECTOR_WITCH_MAX_WITCHES 6 // The maximum amount of extra witches to spawn -#define DIRECTOR_WITCH_ROLLS 2 // The number of dice rolls, increase if you want to increase freq + #define FLOW_CUTOFF 100.0 // The cutoff of flow, so that witches / tanks don't spawn in saferooms / starting areas, [0 + FLOW_CUTOFF, MapMaxFlow - FLOW_CUTOFF] #define EXTRA_TANK_MIN_SEC 2.0 @@ -82,11 +79,10 @@ public Plugin myinfo = url = "https://github.com/Jackzmc/sourcemod-plugins" }; -static ConVar hExtraItemBasePercentage, hAddExtraKits, hMinPlayers, hUpdateMinPlayers, hMinPlayersSaferoomDoor, hSaferoomDoorWaitSeconds, hSaferoomDoorAutoOpen, hEPIHudState, hExtraFinaleTank, cvDropDisconnectTime, hSplitTankChance, cvFFDecreaseRate, cvZDifficulty, cvEPIHudFlags, cvEPISpecialSpawning; -static int extraKitsAmount, extraKitsStarted, abmExtraCount, firstSaferoomDoorEntity, playersLoadedIn, playerstoWaitFor; +ConVar hExtraItemBasePercentage, hAddExtraKits, hMinPlayers, hUpdateMinPlayers, hMinPlayersSaferoomDoor, hSaferoomDoorWaitSeconds, hSaferoomDoorAutoOpen, hEPIHudState, hExtraFinaleTank, cvDropDisconnectTime, hSplitTankChance, cvFFDecreaseRate, cvZDifficulty, cvEPIHudFlags, cvEPISpecialSpawning; +int extraKitsAmount, extraKitsStarted, abmExtraCount, firstSaferoomDoorEntity, playersLoadedIn, playerstoWaitFor; static int currentChapter; static bool isCheckpointReached, isLateLoaded, firstGiven, isFailureRound, areItemsPopulated; -static float highestFlowAchieved; static ArrayList ammoPacks; static Handle updateHudTimer; static bool showHudPingMode; @@ -94,11 +90,6 @@ static int hudModeTicks; static char gamemode[32]; -static int witchSpawnCount, witchLastSpawnTime, extraWitchCount; -float ExtraWitchFlowPositions[DIRECTOR_WITCH_MAX_WITCHES] = {}; -static Handle witchSpawnTimer = null; - - bool isCoop; enum Difficulty { @@ -236,7 +227,9 @@ enum struct Cabinet { } static Cabinet cabinets[10]; //Store 10 cabinets -//// Definitions complete +//// Definitions completSe + +#include public APLRes AskPluginLoad2(Handle myself, bool late, char[] error, int err_max) { if(late) isLateLoaded = true; @@ -270,6 +263,7 @@ public void OnPluginStart() { //Special Event Tracking HookEvent("player_info", Event_PlayerInfo); HookEvent("player_disconnect", Event_PlayerDisconnect); + HookEvent("player_death", Event_PlayerDeath); HookEvent("charger_carry_start", Event_ChargerCarry); HookEvent("charger_carry_end", Event_ChargerCarry); @@ -371,32 +365,6 @@ public void OnPluginStart() { -Action Timer_Director(Handle h) { - if(abmExtraCount <= 4) return Plugin_Continue; - - // Calculate the new highest flow - int highestPlayer = L4D_GetHighestFlowSurvivor(); - float flow = L4D2Direct_GetFlowDistance(highestPlayer); - if(flow > highestFlowAchieved) { - highestFlowAchieved = flow; - } - return Plugin_Continue; -} -Action Timer_DirectorWitch(Handle h) { - int time = GetTime(); - if(witchSpawnCount < extraWitchCount && time - witchLastSpawnTime > DIRECTOR_WITCH_MIN_TIME) { - for(int i = 0; i <= extraWitchCount; i++) { - if(ExtraWitchFlowPositions[i] > 0.0 && highestFlowAchieved >= ExtraWitchFlowPositions[i]) { - PrintChatToAdmins("EPI: (ignore me) DirectorSpawn(Special_Witch)"); - PrintDebug(DEBUG_SPAWNLOGIC, "DirectorSpawn(Special_Witch)"); - // Reset - ExtraWitchFlowPositions[i] = 0.0; - break; - } - } - } - return Plugin_Continue; -} Action Timer_ForceUpdateInventories(Handle h) { for(int i = 1; i <= MaxClients; i++) { @@ -408,6 +376,7 @@ Action Timer_ForceUpdateInventories(Handle h) { } public void OnClientPutInServer(int client) { + Director_OnClientPutInServer(client); if(!IsFakeClient(client)) { playerData[client].Setup(client); @@ -496,14 +465,6 @@ void Cvar_HudStateChange(ConVar convar, const char[] oldValue, const char[] newV } } } -void Cvar_SpecialSpawningChange(ConVar convar, const char[] oldValue, const char[] newValue) { - if(convar.IntValue & 2 && abmExtraCount > 4) { - if(witchSpawnTimer == null) - witchSpawnTimer = CreateTimer(DIRECTOR_WITCH_CHECK_TIME, Timer_DirectorWitch, _, TIMER_REPEAT); - } else { - delete witchSpawnTimer; - } -} public void Event_GamemodeChange(ConVar cvar, const char[] oldValue, const char[] newValue) { cvar.GetString(gamemode, sizeof(gamemode)); @@ -662,12 +623,7 @@ Action Command_RunExtraItems(int client, int args) { } Action Command_Debug(int client, int args) { PrintToConsole(client, "abmExtraCount = %d", abmExtraCount); - PrintToConsole(client, "===Extra Witches==="); - PrintToConsole(client, "Map Bounds: [%f, %f]", FLOW_CUTOFF, L4D2Direct_GetMapMaxFlowDistance() - (FLOW_CUTOFF*2.0)); - PrintToConsole(client, "Total Witches Spawned: %d | Target: %d", witchSpawnCount, extraWitchCount); - for(int i = 0; i < extraWitchCount && i < DIRECTOR_WITCH_MAX_WITCHES; i++) { - PrintToConsole(client, "%d. %f", i, ExtraWitchFlowPositions[i]); - } + Director_PrintDebug(client); return Plugin_Handled; } Action Command_DebugStats(int client, int args) { @@ -821,10 +777,6 @@ public void OnGetWeaponsInfo(int pThis, const char[] classname) { if(maxClipSize > 0) weaponMaxClipSizes.SetValue(classname, maxClipSize); } -void Event_WitchSpawn(Event event, const char[] name, bool dontBroadcast) { - witchSpawnCount++; - witchLastSpawnTime = GetTime(); -} /////////////////////////////////////////////////////// //// PLAYER STATE MANAGEMENT @@ -1170,8 +1122,6 @@ void Event_RoundStart(Event event, const char[] name, bool dontBroadcast) { public void OnMapStart() { PrintDebug(DEBUG_GENERIC, "OnMapStart"); isCheckpointReached = false; - witchSpawnCount = 0; - witchLastSpawnTime = GetTime(); //If previous round was a failure, restore the amount of kits that were left directly after map transition if(isFailureRound) { extraKitsAmount = extraKitsStarted; @@ -1237,28 +1187,7 @@ public void OnMapStart() { finaleStage = Stage_Inactive; L4D2_RunScript(HUD_SCRIPT_CLEAR); - if(cvEPISpecialSpawning.BoolValue && abmExtraCount > 4) { - InitExtraWitches(); - } -} - -void InitExtraWitches() { - float flowMax = L4D2Direct_GetMapMaxFlowDistance() - (FLOW_CUTOFF*2); // *2 to calculate (max-min), save a minus - // Just in case we don't have max flow or the map is extremely tiny, don't run: - if(flowMax > 0.0) { - int count = abmExtraCount; - if(count < 4) count = 4; - // Calculate the number of witches we want to spawn. - // We bias the dice roll to the right. We slowly increase min based on player count to shift distribution to the right - int min = RoundToFloor(float(count - 4) / 4.0); - extraWitchCount = DiceRoll(min, DIRECTOR_WITCH_MAX_WITCHES, DIRECTOR_WITCH_ROLLS, BIAS_LEFT); - PrintDebug(DEBUG_SPAWNLOGIC, "Extra witch count: %d (%d min)", extraWitchCount, min); - for(int i = 0; i <= extraWitchCount; i++) { - ExtraWitchFlowPositions[i] = GetURandomFloat() * flowMax + FLOW_CUTOFF; - PrintDebug(DEBUG_SPAWNLOGIC, "Spawn location #%d: %f", i, ExtraWitchFlowPositions[i]); - } - witchSpawnTimer = CreateTimer(DIRECTOR_WITCH_CHECK_TIME, Timer_DirectorWitch, _, TIMER_REPEAT); - } + Director_OnMapStart(); } /* @@ -1290,15 +1219,11 @@ public void OnMapEnd() { cabinets[i].items[b] = 0; } } - for(int i = 0; i <= DIRECTOR_WITCH_MAX_WITCHES; i++) { - ExtraWitchFlowPositions[i] = 0.0; - } ammoPacks.Clear(); playersLoadedIn = 0; - highestFlowAchieved = 0.0; // abmExtraCount = 0; delete updateHudTimer; - delete witchSpawnTimer; + Director_OnMapEnd(); } public void Event_RoundFreezeEnd(Event event, const char[] name, bool dontBroadcast) { @@ -2076,40 +2001,7 @@ stock float GetSurvivorFlowDifference() { client = GetLowestFlowSurvivor(); return highestFlow - L4D2Direct_GetFlowDistance(client); } -char SPECIAL_IDS[8][] = { - "smoker", - "boomer", - "hunter", - "spitter", - "jockey", - "charger", - "witch", - "tank" -}; -enum SpecialType { - Special_Smoker, - Special_Boomer, - Special_Hunter, - Special_Spitter, - Special_Jockey, - Special_Charger, - Special_Witch, - Special_Tank, -} -void DirectorSpawn(SpecialType special) { - int player = L4D_GetHighestFlowSurvivor(); - PrintToServer("[EPI] Spawning %s On %N", SPECIAL_IDS[view_as(special)], player); - if(special != Special_Witch && special != Special_Tank) { - // Bypass director - int bot = CreateFakeClient("EPI_BOT"); - if (bot != 0) { - ChangeClientTeam(bot, 3); - CreateTimer(0.1, Timer_Kick, bot); - } - } - CheatCommand(player, "z_spawn_old", SPECIAL_IDS[view_as(special)], "auto"); -} Action Timer_Kick(Handle h, int bot) { KickClient(bot); return Plugin_Handled; From 3206e04cc12890d2f85f8d91c7987c2bb73733ce Mon Sep 17 00:00:00 2001 From: Jackz Date: Sat, 30 Sep 2023 13:01:23 -0500 Subject: [PATCH 2/2] Scale value, find a suitable victim --- scripting/epi/director.sp | 50 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 47 insertions(+), 3 deletions(-) diff --git a/scripting/epi/director.sp b/scripting/epi/director.sp index 13130cc..d8b8117 100644 --- a/scripting/epi/director.sp +++ b/scripting/epi/director.sp @@ -6,6 +6,8 @@ #define DIRECTOR_MIN_SPAWN_TIME 20.0 // Possibly randomized, per-special #define DIRECTOR_SPAWN_CHANCE 30.0 // The raw chance of a spawn #define DIRECTOR_CHANGE_LIMIT_CHANCE 0.10 // The chance that the maximum amount per-special is changed +#define DIRECTOR_SPECIAL_TANK_CHANCE 0.05 // The chance that specials can spawn when a tank is active +#define DIRECTOR_STRESS_CUTOFF 0.60 // The minimum chance a random cut off stress value is chosen [this, 1.0] /// DEFINITIONS #define NUM_SPECIALS 6 @@ -35,6 +37,8 @@ static float highestFlowAchieved; static float g_lastSpawnTime[TOTAL_NUM_SPECIALS]; static int g_spawnLimit[TOTAL_NUM_SPECIALS]; static int g_spawnCount[TOTAL_NUM_SPECIALS]; +static float g_minFlowSpawn; // The minimum flow for specials to start spawning (waiting for players to leave saferom) +static float g_minStressIntensity; // The minimum stress that specials arent allowed to spawn static int extraWitchCount; static Handle witchSpawnTimer = null; @@ -76,7 +80,13 @@ void Event_WitchSpawn(Event event, const char[] name, bool dontBroadcast) { void Director_OnClientPutInServer(int client) { if(client > 0 && GetClientTeam(client) == 3) { int class = GetEntProp(client, Prop_Send, "m_zombieClass"); - g_spawnCount[class]++; + // Ignore a hacky temp bot spawn + // To bypass director limits many plugins spawn an infected "bot" that immediately gets kicked, which allows a window to spawn a special + static char buf[32]; + GetClientName(special, buf, sizeof(buf)); + if(StrContains(buf, "bot", false) == -1) { + g_spawnCount[class]++; + } } } void Event_PlayerDeath(Event event, const char[] name, bool dontBroadcast) { @@ -125,6 +135,11 @@ void Director_RandomizeLimits() { g_spawnLimit[i] = GetRandomInt(0, max); } } +void Director_RandomizeThings() { + g_minStressIntensity = GetRandomFloat(DIRECTOR_STRESS_CUTOFF, 1.0); + g_minFlowSpawn = GetRandomFloat(FLOW_CUTOFF, FLOW_CUTOFF * 2); + +} /// TIMERS @@ -138,14 +153,27 @@ Action Timer_Director(Handle h) { if(flow > highestFlowAchieved) { highestFlowAchieved = flow; } + // Only start spawning once they get to g_minFlowSpawn - a little past the start saferoom + if(highestFlowAchieved < g_minFlowSpawn) return Plugin_Continue; + float curAvgStress = L4D_GetAvgSurvivorIntensity(); + // Don't spawn specials when tanks active, but have a small chance (DIRECTOR_SPECIAL_TANK_CHANCE) to bypass + if(L4D2_IsTankInPlay() && GetURandomFloat() > DIRECTOR_SPECIAL_TANK_CHANCE) { + return Plugin_Continue; + } else { + // Stop spawning when players are stressed from a random value chosen by [DIRECTOR_STRESS_CUTOFF, 1.0] + if(curAvgStress >= g_minStressIntensity) return Plugin_Continue; + } + // TODO: Scale spawning chance based on intensity? 0.0 = more likely, < g_minStressIntensity = less likely + // Scale the chance where stress = 0.0, the chance is 50% more, and stress = 1.0, the chance is 50% less + float spawnChance = DIRECTOR_SPAWN_CHANCE + (0.5 - curAvgStress) / 10 for(int i = 0; i < NUM_SPECIALS; i++) { specialType special = view_as(i); // Skip if we hit our limit, or too soon: if(g_spawnCount[i] >= g_spawnLimit[i]) continue; if(time - g_lastSpawnTime[i] < DIRECTOR_MIN_SPAWN_TIME) continue; - if(GetURandomFloat() < DIRECTOR_SPAWN_CHANCE) { + if(GetURandomFloat() < spawnChance) { DirectorSpawn(special); } } @@ -175,7 +203,7 @@ Action Timer_DirectorWitch(Handle h) { // UTIL functions void DirectorSpawn(specialType special) { PrintChatToAdmins("EPI: DirectorSpawn(%s) (dont worry about it)", SPECIAL_IDS[view_as(special)]); - int player = L4D_GetHighestFlowSurvivor(); + int player = GetSuitableVictim(); PrintDebug(DEBUG_SPAWNLOGIC, "Director: spawning %s from %N (cnt=%d,lim=%d)", SPECIAL_IDS[view_as(special)], player, g_spawnCount[view_as(special)], g_spawnLimit[view_as(special)]); PrintToServer("[EPI] Spawning %s On %N", SPECIAL_IDS[view_as(special)], player); if(special != Special_Witch && special != Special_Tank) { @@ -193,4 +221,20 @@ void DirectorSpawn(specialType special) { // TODO: make void DirectSpawn(specialType special, const float pos[3]) { +} +// Finds a player that is suitable (lowest intensity) +int GetSuitableVictim() { + int victim = -1; + float lowestIntensity = 0.0; + for(int i = 1; i <= MaxClients; i++) { + if(IsClientConnected(i) && IsClientInGame(i) && GetClientTeam(i) == 2 && IsPlayerAlive(i)) { + float intensity = L4D_GetPlayerIntensity(i); + // TODO: possibly add perm health into calculations + if(intensity < lowestIntensity || victim == -1) { + lowestIntensity = intensity; + victim = i; + } + } + } + return victim; } \ No newline at end of file