From 0d6151aff54776a3b6abd2efb52129170c539cdf Mon Sep 17 00:00:00 2001 From: "ProjectKoi-Kalo\\Kalo" Date: Wed, 27 Aug 2025 21:41:40 +0800 Subject: [PATCH] =?UTF-8?q?feat(WulaFallenEmpire):=20=E4=BC=98=E5=8C=96=20?= =?UTF-8?q?Excalibur=20=E6=AD=A6=E5=99=A8=E6=95=88=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 调整武器参数,降低暴击率,提高单次射击威力 - 优化爆炸效果,增加延迟和视觉效果 - 修复部分功能,如毁坏后不产生效果的问题 - 调整伤害计算方式,简化公式 - 移除不必要的代码和注释,提高代码可读性 --- 1.6/1.6/Assemblies/WulaFallenEmpire.dll | Bin 305152 -> 305152 bytes .../Weapons/WULA_Ionic_Weapons.xml | 12 +-- .../WulaFallenEmpire/Thing_ExcaliburBeam.cs | 92 ++++++++++++++---- .../WulaFallenEmpire/Verb/Verb_Excalibur.cs | 28 ++---- 4 files changed, 86 insertions(+), 46 deletions(-) diff --git a/1.6/1.6/Assemblies/WulaFallenEmpire.dll b/1.6/1.6/Assemblies/WulaFallenEmpire.dll index 3a57072805a2e0b2412f1dbe62f4501b66b146d1..d1fb5bb05f752aa70fb2141e99f0c621c0447286 100644 GIT binary patch delta 29353 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 delta 29085 zcma&O2UJv7)HZz1o?&L_RS^UQ5dl#VI}zy?6a;J$E7sT*6&2fnV?o7&gC4P>V2fQ; zY$%AqnnV+gF*Xdw#Kc66Ju&+4v+q@TzwiCl`d!QCo@e({?zwkn?j_^0Q^sYd zmpsqxX;{wJ6zwrI=X|aCXUj6auBg!JIPjH4DYluMuP^%9u9+R*T2#aHdksHge&|() zA2l1iOZYK!g?A&q&-~0gm>)O$)~j?qpa+qieC*t9~E8-#nv!hIx8@YqQSRpPwuW^4+iJ=Zfw% ziUxkg>>Cur&znaD)#Vq876oz6zcyz#ZNe{_k2hV-zbWbwY{U7bqCw5Ja(=7G(BiJ1 zKPdXGZLpsIWp^o#=SplD{<1PpZRT6>Ui}==tlSJ-usi z{-)?mvbB!CExJ7Lku|*66rCKs1UMAMjVl3eZ?;PPp4*x4q(*WFv)9BK+^J~Y#IaiL zQe-uCA?IG^+-YBP|DwU^Z^5ytmg#(9R&x#0HtbXP-K3DB@iXrLk1=;O&g9YNi^c)G zy@)8}HO%1|?!1G!PewHFs0fNO7V$3Tu*`cr&g?a(7VlgXGUv4gk2g2VO5$CM=4Nf+ zJgLZM(Q{AU(_CwN9p0;`_4aZNPcHg*XR(ftC@MM-spb8PUK|eOd|;9HkygO_6!kt9 z$9ZbemgCvLXPTRxT)<})9Xt7~0bfwG=a*&He7QO7>3p7J{_1Hzo?BG!?_!SY>8EEQ ze5KjtxeuZrIF_;#XftPWWN2fW>KG4KEOAaXTJ&I>&-{r`0$NI zx87{A;05M6@4w=kS9apPdEuc=ypaRnCcbgt%lY==fsXuVjq8^*67PycqbY;@S;)9`Mt}hZ^xUoS!L9Y{I_+k7tDnPuPF9x&HHPG zdqZw5=C$RqVtQL_-M|(vFZK!L!B+e`(X#^|&c7EYI`GyuSFz$rH!YZzZ^liL(t+14 zuG5k0t@-uh2Hp5_Cw{lMcqlh|h+di8nSUWhW%6CF{(5YC(FYL!2h+I)@Q9aV}6`D;%P2@8aXIO|3f%kHQ(_-?rNoLWXGW9 z__b!7>D+FgD2@a2R369E?A{L2V?= z8MlrFNPQdY8q8jYw$2u+XT9OWhle{_i1Y=#zNh888k4b1M@uK&yBZ#{rFGUj8Q#^X zgKhKLCv|%29QBR{SKMY8BXD)0gA4xicfq(Q$J*v&ZJ*V9|Ni|Qdnf*`W+{4)cahz> z^`T!l9Na$EI>iIBcn3U@#FmA;f6Xj8VBnvo9MYA;6ydmtJBz?Y+|8gG%ocHr zcw?M}>5F(YI-gv`UG3+ic_6Q8YuP9eV`PZ?i+BL)>=tuZ$9am**}~DHkw0l$E#__b zbTNK0uh~M4Iz`DhRXNO74ykyUVaD?P)oDkgB?ts1pOSxd#TBk=6l_b*|2OM)9;cygkP2oWm3C zl)@%HFtG_T()Ju&hgssg96nx6g}X@K6?`JHZ&qL#S>myBa4>UMI|?sn9QOzGZfWL0 zs+(HjXizF#WaiEPr^ZRuRDIIaQhIe%>D7n1kbyhq(&Sa^dVjU+t8;m<8rWTN*L`xA zl{Kcy-hMLkQ_MEw7NCxg9R5c2R3evIqZ%^l*p+pLxN zr!_IGfz`BWvrHKm*?U<&E{o;Zp%0~^R_pSPJL?>Eig}7UjNXEK*P4Z17>!PR3g)M3 z`v^V-%ef->Y&;~c<{duTIyyQkk-k^5h&`)$Gc>xln)gy{Yl*}>z6mc>f9LTeCz^7( zIn+b@h`!j9;+|{xk6QjvG}*|1;=dPL=JU(I|0w=xGattJqhh?%Il%b}@oWqK4)Qf3 z`~o?Yi8%B^%T<1$tP+Sf4H4x{JGU{;eq8&Heag^Ppy4!mx+` z30E~@*+cFrT=w##{A%$xd-(|t-)Y41U%89O-_IwzUQq*A%D@sR@Q)(!0Kad07nQdH zZP*<>_*V*#BK|GED;^c$;`~X}I>?Xlo8tR}yx6%C?HIVs`V0MQTHV2G*ln@?5Z~r{ zOO5`Aj4pwq-!JZam|FsWAch^m5qMO*;0SNa`P1U^qg=!5{EJQ*T6s5#i*$#)J~gbP znQ;gASR9#m#rKc#WR7<>VJC2wn5aC#TW~IFl<CfSNFPV#u}C=Q+EiQKtZcZ!b#R~NLBqwI;vXGx%P-NoWE{)&4D(`h~n z2a}ichP;kwRL(T4;ClR@hn$)V=c>(ch+=!O@6J5`<};5fQN`B7r3_}9F1^XqQv0~ zcn=gSiZ1fCJW(WE!diQXuP^cXytnxK5)M*7;rBI;$l&62U(4(Ifa0oe_zhlbFa}^S zb1)`(SEB-N0F)U_5mztsd_GX5UBS!wa8YmtoklCg8ouL$x$|gpbeT0CJr$pkV%GP3 z86P2Ruj0Ip7eQCiXR@3r53%AZFXNModtAfu<`c!1ANT@1-x^=XE=*IpFr&EFb-sf0 zS>oZ3=x!3$H~0X)NV?Y%SvRoH^Te?md@SDY`TxW>J1hfm;JM7z6q9&Ht$ z-{p&t{d||l@h!zcl{k2|2Qb@*bD>B~xW}LJ1I2@X=B1n$75m)hqcwb=SoSO5QD-k& z%4sW>(|eoG`ioGfupm&f(3*vK;yKQ|q!VTBc>zrf3SJyGxix0S8pt~`W^+An#> zz^Za-mor^r`y&#+wU<#YCQEEtaxu+{Et@FuxLEQMcZjRv=1bhy2Z+d5+*9vP?rp`e zSKLQGqFnkUiDj>ND*svV*LQ7a@K7vXPsTj#Vh7t@?rz4#8FS+Uteq~g3-@`k%Q zXHpqce5I&gy2O7(@f+^r{)9?umMTS#6*BCy1c`QM#Pc_NsQ&OVsktl${)15(d?m?W zls!31nq3hK|KXl)>&Ys!n^ec6k&e|J(qOO^J0wp1gZ=*Mj8r@k5C7pUgEt?RjzR4u z=8#|4)zag9OX;z(LbkcBY-R*Zdz(VGbI4mX4v;t$C( zMUD47DDXw84Eb3jnZ)yq?8RQfYep#l*+e6>Pnh5H0NXg~iS)DcgeF53ZtBu#t7vHfvpn5T zwFn&vf3XH6T#jrOJYjf6L6cq*QCqa1~rcn>8lZxzqefd%l?;>8AV)fjPaM5#~4qh-mE4HJktAnOmCAXSqoKXR^o zw5*Kn1rss%9`V_dEhP3|cZDq?_La&O6B8=SCKll)E%(7vVi~O!w#-O$dcH!JYc$>t z>^C>Yq-l;ugXyo}jbj-*2&;(U9W$~+u$tH!{7$lr9fmc;Dx4%MhV{f=5IY51tHmsb zJ)|3j_pxQ{930dbWeN*QaUKqna)yOeUVtOS*5U{BGIkM;5&I9nm?&eH-~=&~vt(bx z$!aOCLIvsekmYr_K#W;S%Ny`Dv5t0<-Gpy78Y8CffgkkC*loC?I8tp7;3s0~_EPs7 z+#!f) zQ!R{6^Bp*}@uVu&d{jMQ|f zW*MdFRLwF*(}kFE3e8h{O?)-ePMQR*3Hy70k?dh-O}A>gcun_eEK&2h7I4DK2Q#*W zchmI2dt(Q-^Pu$WDVg_&@%>!WmlFC|N?jk#Kw=w=w1h@#Mi4zt1DvW!t>&1nnNB(_ zInL0`qJ%DOWx_d{d8AX8Wwy%B(HJh#EFhgSGOIPqtHoTWSwT7{ol#b^QL~C@91U>3 zW_2~w&6>5UskAKAY^bK&qRA(nvJkgv3TR!#rb)}~nk}Tm&mYJRXm%6Bs*xSk?EMhM zi1f7PC@I~j?r$|`kummbE!o3sn#&(d(eg*haAK7H-qKtnwu$`iXs#1`LnHdD<}NYi zOn<8Rm6%fKGtI+~%%Y4v*Zd*YJAfz)oDYDS9 zt&u;YWTEdYZ0ipBYIJPdirOwZHtwjzOB>zvI_7jz%3p}Oj<7@jdo*YBjE}{)jt~_1 zJUW<}=63YdG57j!uzl!6LU=H%K;&%V`u{L;C}Db#P6RkX?U9`-WWd{r62ELAF(z7; zkxcS_M`fb2p;A5{wVZV_er3g(O`3fSXS*glBkoW1#ld_WRx2i$c?^^3{1A0I7gt|R zuZ&|YYQ^-*_%pGV*zE+Kjvg^OHZx_Nt&XiZB!iw5H=STm@YpEM#;@_lXfVAYV%#eH z9fTEjX@gj@Ll&RVK;p15ySO787T->cbp{_EC32i0CeJE)%PCBR6k%5%q zThm5L4z4?jTE#|bZzjotb*Ded-_wAuEV_u29&2QTw{0Zu>@RU97SUbD##3Dy!hfP= zjiJ97UA6q3(+9q+FxQv0i9Eo(5gLnhmajhlpJ0?-lF3G+r9@hY$_R3?|8Tu08Nm|?+>r2VYgK~+hZ85MWE~|8LyC&4O@Mixm zeIN>ILWm*>c72R-^uy$w-_4RI13Ug4CD(xpcYtdS^VL(T;`Ds8L;!bQkGH;aY*y_&mq_S+AB<8t6 z%kI5U!GhiNj%;(ye%KyTL*fH!Z=-ewwIiv0hT8M69n79Kl3wfTY~8^PzbEi>2R|I`1b4iD9VXJ;VVE3~Tkg=J?I^U{MjN7Olx#b+Oht^RQOt|3 z9Td#gEt`&#jWnUkxVq9NlP_W^EXRU-?zlhN&`L zKM!!%u;X(@x(7`4l5@4EshsW~zkGv>%BQ#7?*@%F*HI+G0e?l{zl#u02#Q^ZBPTaU zEel9nitTfg&4|Y*uSWcF@_H;!Zkk%QFmp3X-c89GXJfsed7Sej-8a$8fg$ zQQg5y7VJ^`u=o>2$*0;UWfX6B(ycoK2;r1dGB#nh#T5na;HAnFMJsdXNw z=Eo!7VCJKAK6f(ibmJ@{<2p)gOXXsT-XRxPrbw#;trKpcs}&YU*A(23B6IIyy9Hr3 z;ReDBh)Ee9z2sPo@0p9gp4B7yQNpNj8RuojX7O(wNH+eCxs-*O5H45JEN|JRHgp!6 zXk%`+*c}}b!XKmMUD^db36-_hx_Y@YQ&;ak%J$S+L)K?OU-0F3_PSE9ZK|EO0~|%pAqH zUeMC$-hnf-O&!EP?RMdZrQgG3&B{cru2^6DX`Ic`G96sMht9WexF*PQnue(*gc66%4g@feEMSkvtY4e4JF zhfp%oNnX43cmpAOc@p~pmS=X`p z1y>g2-mxZY0d-NnK3iVJn>q$zdzMoWdVT0$Yixg56QS5%VBH#R#AG=&WjT?mrBN=Q z>ZVdrZruTKqMelAagg}G1?__J@feh|sQS#M3kvYf<@vfl%--!C;oQ9gBoTu>6Fd_2mZT22;0^}*9j*ej#y)Z>_@kZvgC{ftagik8`I z1kP(P|Ek)k$Wu`cHD|UP{t_4KgKOO@s5aaDfM{Va71JDVV*3xr&Gk6z=ZsfWUkEZP zMo&=jgWU;>PowdLEnvt zoVf~*PPj@XsyEiFKWp5yQ?HDzH5(&-QA6VI)ZR($xzuh??Q_&#SfjDH>x-LSGt5wK z-5T+YT_~d7QQ{4!4#K+ucseI`l7;oe!d`0RP@Sz>1=P$-0{B+9^ zFInkV=7boZ;ut=u)HEH%h`^dD!1M(xIYB>9zbHW zmaFcfoxIqUg9VIf3nh*ejx^KSX+#q3Loj{K(5HSm)kyNRD_*mdSnzst`r~ zcwci#)Chp~J+E}KV5Rk?ZoXl6-gRVO6U#KzIc?(jg_N)2xA5RC)D2bH%Hvg-F28}I z8$A9|Cq0V`P?**9XJT&vEVg~u$&O_-mcj~FLv(BifwtOM2Nv4ogUHwr@1d>4(T3oM zznR@@2<>?<;TH(4HD4aK7lQ(kdx&j;FpK*N-$oE%-z?UXJ!&W2=Npd1w-)^yLHm&G zusUp8q!Kf{|0bKdY?sQ0%#DooVrNv=Wm^|yuT_@3u#32fF?ly((HL6W_m8c|{)$#Y z4-6YDx-`aoU!ZVb3<=qjFUAT}V`y1-cxjfEFKf_2iXZTpHIrifSR0jPFTWzLH^$MO zEkc^$Axo@ng1uNG?lr;tShM)I353*M5!;CE>LJ}L*qY6ww2jz^UJ5gdgdo6Y7sc2h zs9k$QY!I9F`6s&|W=Q^ER}ch&_64!QtV$KN5ZlG=AP5LK6x)mq=_Bpt)-q*r)|`zY zR>4LV9ExquT>44feA2a$P5gJpVnAE`d7&wO$$Lojm51YEYEvAX<6@I?xTqXn$ipE~ zH<&Ej2IJI}iKD^Lnx7R;v|d~oYS zX({XoF>;JeVfHgW=?1Y{#FU^xEvSkvc)%z_*jD_`>qC^GY#%Wt%24K&@kuv~H6o@& z*{DQ0-U3&tw(|&9X(CIO)XYlomN@jzBBUiQvgg8x%+s^;c-A*tnp7B;C;PGSEQJ_N zg!o=M_zUY+(9$ujB&hR5Heso>UByf#twmBREI2}pZH0^VC$XRv1o94|s1-!lO)H7( zJdN!#E4FDRpLfPF$o;_LM2*&Xx(x1|$t+e%;Td+z{Dp{b4ee1lhb>$6Nw^6u11EMi zv6m#AYgjya8ZxbrCKb$U)nH`(i78QDw1z{TgFDY( zYO#3Q2Hb`nsQ4mw0b9LJu^sQWqH`9DST9*7`_;6j^FkK4L1Bk#7j|CEP7zZUQ8s%> zEXQEmVQ1%T_L^7)n^@Y+J)1S%_%Ws!9|CT59gpnqyp&buOK}CuOejXC-K4O&31wni z2m}Ot-8q+~sKOehJ1lZp{ms%OlcnwczVj;9k5~l@6>mZy#Pe3?Ja(=?iIJ4d*%sEL zP%>HI3z6^{cGOX%e+Dh>O(k`@9A*=?E4Ch@Gn zoIPcsDyv&OzROd#@1mkRZtg9D!|;?(@A88AUs8n9L%rg7h$;gd!sPxTP4HYLLu6QLv8!bT^QeUSrNWo zzE=zjN6V5fTJG_KBK&gMcVZ`6@_XWJI1K9fw2K38b5rW%kiP4JKV1>4V6vMvd9KQO z6uZXN&(b7^IrUu;*O2F{EP317xIpewC3TrBrgmXmBVI`?2ic*x=KR)u z#V@7K8PPuy=kJPG5Q!I=>*8S~&fjg36NMALMI4QS+I62C@?#Nv)l=!BEba)NPiz$% zR!}9LML}!ZM{$w7&EL`_(~u@wM?(PlMe?i9NXY(a`8S%_JeRD3#clap7^88Oy@?a+ zqQSkVA-)qo_^(v1Vn5d%s*mG_x02)4E$MXsQNp^HMj}nE&+4$eydLZ=WCIr}Iz;vZV8V2A|-lFg))& z&*qni$qnZhaZv`hIrbuc9^d7p1edAi@e-BERP%VL!YI`|enw?-Q<=|ybN&>3Ay0IX zER+3?!P|CFD__o+)KG%UaLf5}g;BWWJXd8hTn@ig^HaE7-o{l4m+A3uyxtPU_7S5w7df#w%W+~i`r+Z3JoFSHow2r2rCHiD zymvzx=L{P@qOUM^M%!UxZD%~A#){}Jc$g&q=mKsIVMqPgc|N&`w9PcYQQ;B?+4!a8 zrZ{L_JEQAmzOD_a*xkYix66Ed2nFS9il4>dx0ae8Ps|s!yFxUdDh76ijyzjz>x!$_ zEUt9LdMbo#0uC>Jd657~j{T2p==u|%*-b{6&n6t%D)uKpcQmp{#Ci^i-HG5w0k0>b zc#jB7f|h)>7?cFF9M2v$@kjj8aOqpY8iySckCSjeKh^aKpDa~pFe~I%*ME8Vgin6|@lM2Y*zl4+yZ*Nc|9RhE!9H=zlz9{_^k z%xZ<1OWxuAb3~rPeiavc;aF@G7N0}3qp4&|LJJtPUh3rS+8&YoIkW^;E|!0e-!!L* zqo3oqB*h7Bpv6XMqYQBy(B~`B>~_owXagR^GTAG0NkRzR-z0VO*_zQ8@Ydq$X2~+y zx`EoJpBH0d}DLQtp>9vG*;8G|p&#+7VZX5LxkU}(*)epn(iQ(Xu zPhleA>i=M&TS_p8&(YL zBeseij(e351GSDx-6{qX-zRi{TPj=RrAzDtM~*AH+oih1&d~IP!h*+t3vtjxWy{Ce zCdPwtf=W##&WQ=|s6;U}m3Sm3LFvg4EFiH5yjEFSNsGi@@b;9{<b zR@oR<(P=28SMwVNb5va~n~F}uU_~|Ea9FGAN)6)@hr`Zlx-Z~hIqeiCcFTHP;umm6 zHC>?}mpB5hel)dUBjE|LdwhR8{BaeUo{_z{$0r^0Ll*j#WSMLR-YJZNWMcO$hwlrq z7zKkA#z*7w90em(-Npm0kxlrD%g=Q8_@Q}|6Gy=*)%4whI8>e`CP&5s+0Uv@rXLOW zRVLGqhT#=djHSzgS&5@zoWdyKXh>6aGT~^*P<7)Mn9#Bu8RoyoWx~;Lk(A1ej)v>R zl!+M)mBdVJrqxn({7q#mU}fSMc%rgI&C0~F@LFXMU3q6cIBjGdcy15LIS$3gnzuhP20l!o(?%r!X4QDUh$~_3z^6DBK+ z63&Dfs!oo~Oqi?cd=?xxqUrZ4l?i9UO=8O2&xHHLOiX_3Jrf+R%M{9jnh74nK3Mt^ zGqJ%I6&SNgHQg*|^O2Rs&Voc@54imNYBWOnM#rml;eIt;2K=e&#^|+8 zGr;A?PsL<{7cr%nOb8%mVqaVQn3xH{)hy>gyK0tmjL<uYFQWJ}FT;n_+8mVlejV5UUj8|En(;DY2m_L@XnI{WmHk}=cZn(eT?D@oGch}ZOyO`> zDZ7acN7hf`|Hk7DJnJ^p9 zDU3!Y8?5gu>1D!fa3-cC%!a0_P9|Ie6I3P>E`g>Gq@S`7mq0u*Wnz{{69-fS1C*Dw7G9g620FMp^4i!Je2*FB8@xW@6rW8CwcXtLc_Oh^n)-iEvv6 zQ>y8fLx!R=vR?WKx8=YdeoB!8HpG+^IZ%U`iTz_)J1GY|s_9mMzp87GQC7gXYC1Da zRdrt&v`x*hj+oMkT-dH!;`NWST-dLg{=(`d<-&<-rYphy_fMs*ga*Wv(pEwcF%!dY zK$BKNYn4s2Y?ibN!mIfS=u*v3Ko8Z@$EXQO6439XG9qa;Os?j*1~NYC@Bsx_s5-8~ zyWlmjT4il{horTz^`oT)TMuW5DJR|r(EdRyfo@ngK+0c|$z^HeYy-?7s@$<|0F%OK znQVYXs!lG;4Untq1I04|S}gmPJKgdQrB%W@+;dGaAWp8p%c z_9>ZKZr|75Vk6X07^U9`9;!~J-w2IV-J5v{NgMH{BPE4QzY$Etl=K@RU)9O<`B14c znLZzCJ^z@V8S|kf(R-HiUN0ZoDU8zRLyW4E>GL5@)yaFkd|0b8nLZy1h$+h}ANCSc zR!Ke_A%;K0==vn(L+MAI1>0nVn?#j)+6gK^47r3EX1T-8wyTOnLknJlId z5?_BBwn7+7?4D))eKFcXNK+VovQ=H`ywOR8a8qTnv_hyd5>;v|gh#|o ztR>b~2&r#mLS;y|z${{ldiX<|y0UGPmc%Uy8&AG-dT*cCP)Iz{T^^o z+2s+pk>Pi2YI;-BUPw_G^B%$R&6F&a{aH9GU>{soS@+)fyfxf^OV_{oEM=>tzy2q~ zD3$JqC&ZLK?T5F-Ow43hl(ZiPz59^Rf*pXF#FPbG1ou@Y*Gv&;%IEP*KsGqS^2+euhQRMu_5PQejk z%8-`AYn90%Ert7rPeWP?_y#nVri@`JSSpN8!%}cib@DVUg<7gkj$tYERhdx^VkrzE zstjT&j3=fHVkt}`W@5p*8~Rc(s_X}=oTO4%p)yaq8~QTHtL9e*g{tnVp0hG|{!wRv z%-)L1=KGDf(VPYsmC7ET1~+S^Px6D*Y4BDU_31SDt2)`I)6i7a;Rh+ST&yzLrPE+0 zri|!m*rV#?##RpdR5t0D(GO|5jgnCAW#y2mFiKbsS*lJZEQi&qPVQyp@JwYgVLALu zOc}Lu(AvtFCbmUi(WxA^5L0w#V2`T1Ylv`mI|CQ1DZhfNwjypU47EK~j4#}=@3!Ed zF<_@e$yiwHwy{Kt6zqo&BjDp?`6MY$9S8U-e2$ng0b2UPaR&zt^Y)OcsS~7sb;*Z_ z*Cybre(AzB72emogc z(Qi;11bM-6Y4XM(a}2R%=+qqF!qc+ljtu|s791D*(x3^xDS0;y2D(%);zL=Y+Z1T> zziV>;pPC=0zyRk@!}Dp7I!=X$hTl%fnlN{pY0$!5sZb*RsiZ@SMrn)r)1Vum-A~h? zL)}kyAI9wMF=_p@tF(SA!qf3Nn+2kOI(B}l_%G)$xj%Yg_mht+< z7pH?QZ&N+o|K0xffDHP7%dr@TnNSnDA6+#IYKpL#PzM9|p9%4?)r}wETZf$G&|*;J zY3@>@;5QRxTR}xD`wjRABYBBuGohogy0g-*j*44#i9Sj?ci1ZNd^ZY2>315+Hq&OT_o|sF57sr)(Kx` zNw<71(lc>3x{AG-_?pynaW)fz0AD$Noe3Ryt_Yt4CO%4(&w*jK(m9wHdHb=WmR&_l z6D0FaVwnl2xrW$n!fBo@>du8>+)vD#3#0MJpQm#%WCLM24?3a_KfL<{-Z;KeA88#r zc#S?70Zu)e5aQC=A6Xm7)SnGXa<2?EW{`@=$!iQwupu6pn)7=an z+?4f*Z-R#+U_Kg565Z#cL2Y504?ZrnOZ!@$hnd-9Ez2xxmrk+F1BWtkY(6y6Cmr#z zDzly>9?!>u>j>Kg_<*2%&@A0@(WVtv=dJCNR$E=M-nV?c)eZLc=xzNV>pv!jSloc` z``^HJ3z4t@lLg{mhQa~4FaBGAud946yt7~+e=IVy@JGTY;#w92=xxgP^7A%lg~dXM zuY2XlS=(5vsun-mp5dNZ|KN9sCl54Zm*_)9h{h~Z7h*9T#Il93i60cfi|}F3-6xwd z8#o-<*8Vwn7#v}*1v&2fHFC7L?e(FH?DuQ7h_Q>nvu~s0`Svb2T;t%VWl2eiy$8q~ z^+D!{wf^VuIUL4R51qqvt{-gg5NoX|KBrHzzU5QXA<25nu?7zNEibieE02cgJAcR>S%@ z4yDLrNIRLdlVOq*4!}$j%_Y%Xz~2xTL$Y)3(H2%CZFN%@JEhw8N!aQ%(sHzj%*NG_ zE>g3ht={hVac6IBOHqUb|4hr{Y+SP6ir6LamGAS@Yiew={qD2E8ijD^jYcj7Zr8T9{8daYh#2q{p3874 zP7;yJa4Ag^1D9dHvyOe{>S)(RY+450oqsDk?AlNB)3Td}p}2_TTB$4a%i+4)y0W%z zHw^1nMz~pO-FO`B%$vSx*$7=V0Vv0{?i`75qaB@hc!+FAIpZ@DQ6; zKu}$$Vh5IFAs>%TvMB7b*rQB04&QFew0-Wq$#x;m(c=}k4NMe$&9Ke=`DyPukx-*y zsxA`vs6cElsW(`*ONB=+d`5votoDiixwu&j7h7^6(pGK_k@(|tB@W62Qk z*%qIt7N(;i7O_0M$qjuh*9>z*oFmMFCZky3J4Cfh_ZjY4#EhO_f23V=@l4=0drkzb z#^t$NB(EmBS*tO0v9QfUU6P2-!`*X|*pUaD^vjCtxx~UTk+cR?C&hv_xWoJ^Zc6q< zIIe|AH~Gu`4c&m^-R?JZp#yfipSL*}TIK%~_wdnc!H2qgL-)EPZuR!VPxcIm#bKXV zKNcozx}gtom{A%Ma8D8d2!Nu7|Zb*acTp6rO!INHRy`|bFmn|Uf==3J|Fv+ zBR1yaq;?g*<}25hTAMI|%$n-BVA7M|^L7iwz)g6ms1j2*;cdcKC6AhIay%z?Z-Tb1 zZOZF6e+V^d_-c~1YlnT_Jistz;$TFZ@)6A^Te#JIZFAJ|uxUo~nba|cAUCS1=IBFT%bXkjRi%G?2H{-K-c-`n;2)kXj95wMPR$EJ2 z*SV^_iFdsBbhd|u%NF$Yxi&UAG$MG4^WP5zL zZ!1piE|IwvYU}Rlt{yaTv2H84dz>nN)HcU{_K6AlZ0-7$OSo1imtqqAnjn7Miu>z? zP#c}>N||Gd&o*9W?HhhNG}&okuXCa2nK|dD(2-7gb4F>;v#W`BL(`qwG`t_0>a=C( z!_b9J*M~d{os6gTBkXkTnfC2+oN{n}M>=MobkonoZGQoeb?URbLAzMHCS{G=xlk5w z%MnBRv`e;(Svjy>65rlsj1kG`gh}n*Fq=a+^l#YLhi>a59gg?k-_AovR}`H*U+PoY zo17y3uCzDqco;shyd7Mft;6qGTu5<298v60+uPZc{f6dV-sb^ObnB9lVWl(#y2?`fPZaw&~$N!h2w`;~)m) zk{IN?Ysjncek2*>{NG^vh>^}cXLv@WI0u+scQR1l7OpvXd8TNwR`mytiHvoA+--5>J&TLMYa`FIH6ur9-e?NDeDTO* zq-G+%bLeQFSSs89O(=?dquF1Yt9_%HGXx(kwD}U>pMU6-YhD``V&%8vqsnY|L`~B^b!fY7Y}8YSq!>5-J>B(&6NT|hd^v4; zR1$QqnHl9~-L2>Hs91Y9ufnJ#`x^Lue3JdZmiR8L^Jv5*dmnUmbZ&|mYwaI=65Flt z{n|JBl$@`k%AEb@UW{@x$U$~9RJq-VI`3TRbO&w9PToOz*~VP0n_+=luJ*k1Eay8> z-eh^+`I++_Ba$GT6>r1asH&*_{7^I8Go3%Ty@Mef9qvSB+V!5C>SpOY-OVQYsNvnX zvljdL8(i3BPT%K-MhEbb0o(X~#O~3t@TPt5=!NzyKf(?0S>-d)PAr5^Kx{`CONbAG zq9lp1C!*1b;S-1N)KW|3O8x4da@N=wP9dAuJJ{n5{;J za3o29M)tKaN}O0Q$wN>AtUt*Ik$f1*(@4IA z#DeW3JV=rg*fubOHVZBP)58Tx$=)`)W7Fc@&$qjR{ z9Z&5f!jXjOD7Rq?4VMvD8jSLwwOoN{uoUP}!%{kX68aK0CJaF|unbE%S#h>)UNY^taoJ*vM`t<~nG%58FrV4oTA!cE=D) z?M@-~wwK}h*{4POF(+m-z6t)(oV4gB%$e=(-h|a=hY@|)HN-%62eCPOj@Xtkny?GW zyR&~#-j^gp2uCxg9!=OJ7K%87#rBBCZ;;ZWjnVj5ztWOQDea>P zhY*?w3kb^zs|bDSkR_rK`${CEj+w3LZK8GoVL4$Hp{6dCLKsargwRA-Kv-J0ISzg~ zwW|nyyeJJ}0bw~|6`{r(wZ>>4d5DfCO!1Z>G6+p1$)|P!waW>s2sQPjmsdSAyVl!> z+R=n5ghL232u*|qgq3JtE4hl=8XpBC!^xJ!TDQd)WwMzl0DW1mQB=VSY;K3=V4G_O|j4DxDiW)6M5 zBFt<;Ulu9lEKtq*N(n0oz0$~( zFoiIKFrTn=D)ocVYZ_S+rVwTj<`a5NCoN$3?uUTYCm_nFAn6Jn)q&9`Hl(3SJWlFghp)rCE8FQp4pRkgUnaGGRf-r@U z%_TWu3SkCeK4B?gB_W$fmV_yU8HD+SrG%A6I}e8N(~Nk`qP{rVwT5>_g>QrfUp5;F+%2}=np37L@E z%GG3Ode&HobrOu#F4fxTvzn2vwL^!ze2@b8!vzshX+5BN6TkE|BI z!QA;xR)^nab@^TV5$;;v>LiKl5zED9#5IXK5kri75%=dEO2VI^>z$UOYk9{ITTCpa z_L*w!3)t3We2e%lN@{&hO3axcaX?pzhV3#!@ivKlPDs4nPlLcAaL z8=`5ajAj@jeT~=h{=~zzyuS%w5xynl_;ZV6j1F-?yv@gU)M6)W=O#<%Yk8j7zLw{M zSn3ym*mRc+-I&_8jg@u~%9l-Ui8!*Mw5go_8KPr{FvJ?hBQbcmme(24;aDQ#%-&Lc zlKRJ}Hw_0!$+f&*g#8fbjUJ5HA$G*a_Wcp#ux;ox8S!1K>4@&FCAK20B#BQ_21-); z&qw@aX*S~N1IAT&fNARxziqDcX*0H)N6YpfYh~hOG{~ssEogx3gfB8IHF zhj@3q9L(gwzhe8334i_{l52U-P;xEr4Pt28dqiby6#T8VMR)X?YmNAOA4kN*y0UwR z^If~+V~CsFJW;f#&=paiEPF74+Cw%;BW2MIp5lYrj4jgUDlO7u`8M?3)yXYK^y)^jItL-xDoS zQko;a<|tI4*4ztzxMx*cU_P6kI$kJCio8Ek?+un5zk!7f7$KX@wd4=S8Ag zokg1CAX;30gf|;@L~VGs43sfB0o(7_$x{Asm3ZQmOmmd*S|0vIX*M;iFQRg~UdtPV z?Q3~oATFcnvl=I-PYN&?$SUne6S(ho_ZESyt$lgKR{@mET7f45Bb-(Dk1rtdW& zD(%C27k+G4msfAM*t_hb&GS7gKemVMS*x^V(2wN*XS;eq_4dfq>HjXMV9%zH$+qs^ z_OX3+gzW0a66>SlBf)m{dOx}qN0&mp)|jdp$$@2RMk8+0j72Qaj7Qv|Nk!bLnS@xT zNkc5xOhvq=Nk_b{nSppuGYhdwV?=zY$wd4^gLltNr=5pr&@Mo9)hIHfqgyXrWz+*h(u9L$!H`VcNBbL$vD=hiNw=j?r#H9H%WnOw(>boT}Z1 zn4#T)I7hn^aj|wc;u7s%#4XzWoU^Tnzz%AQ5D#k)AzsuLBYv$tiujY(cpMM6v?Yi? zYfmBG*Ou{}%)??NUcy540f=GxK*T70W5gJJ5Ml>?Fk&ZtbHvX2mUyA-ik8<|B3fQ& z-Si=dJ<#$xJ`Nj<*jwKgu@73_VYAWl4$DBxJ8X`=oe>Xn(ew_RkEVB6mOdPD5t>%9 zLNu*nThX+NeThM<*eXLqvbE`3|jueD$w#5 zb`C9nVHeQy0s96mAF#`4`G9?=k7ULN>?)c*U_YSg1NNgn8u2GIeav)*07Qc!5Yfia z5z)>Ngy>)hMsza7BDxq_;^n*{T0Ucq(DE5;Vn{-4ik8nX z@;RiBUO@WjC01?m(JM%S-a-oW9#WtWf`R;$0Tt*os6a)*M1BSJ({E5e{RQ#2BepzkOFJOJSoKLkTP3=jIgap1yUpxQlzD<1F1nO)C#FkJETILtO>b|Wujg{gDxCmT=_II1r$ALYjhCv_52?~wNR`e(YIGG+qhUymMwpGf0jbeVNR4i> zX5<*8PUDa|-G$WYJ_f4O1dE2yOoC!-JB(DPoLl)2f9LdLi4Df6anHDuTxA;OS~F)B zO~JZsEwStEHrwmmp282Wv@H4oBG;1L(ENH^EEV}6KG^gYtT4TSO{XBANI#765QDlc|f-%thAPqD}Pg({%(=$k_o#33tFHe*!;TkOhU zuN@CQtu}&Y-L-&;wU68%kGbiQ@^nY{mNonK?CsvzxyyZU*t1`D6OJd=A6hhA9Nk{+ zwT{ldiF@a2|F{Pm_{E8))xH21ma^AL>Z!rSh2=JqvsdKok+5`t$`>9>_fq!4d~@i` ze2@ENCqKQ?xirX2^74f}5=-BlEZtZ2EsIdheLcw6lT&q`A9I64{H%vtpLC^*{1@tr G`Tha;xhnqv diff --git a/1.6/1.6/Defs/ThingDefs_Misc/Weapons/WULA_Ionic_Weapons.xml b/1.6/1.6/Defs/ThingDefs_Misc/Weapons/WULA_Ionic_Weapons.xml index 5420b06d..01bff741 100644 --- a/1.6/1.6/Defs/ThingDefs_Misc/Weapons/WULA_Ionic_Weapons.xml +++ b/1.6/1.6/Defs/ThingDefs_Misc/Weapons/WULA_Ionic_Weapons.xml @@ -59,20 +59,14 @@ true 25.9 1.5 - 10 - 12 + 3 + 50 ChargeLance_Fire GunTail_Heavy true - 0.7 - 0.6 - 0.5 - 0.4 - 3 - true - 2.5 + 1.5 Vaporize 50 0.3 diff --git a/Source/WulaFallenEmpire/Thing_ExcaliburBeam.cs b/Source/WulaFallenEmpire/Thing_ExcaliburBeam.cs index ceb7be7b..984fb416 100644 --- a/Source/WulaFallenEmpire/Thing_ExcaliburBeam.cs +++ b/Source/WulaFallenEmpire/Thing_ExcaliburBeam.cs @@ -42,10 +42,18 @@ namespace WulaFallenEmpire public void StartStrike(List allCells, int burstIndex, int totalBursts) { - currentBurstCells = allCells; + if (allCells == null || !allCells.Any()) + { + Destroy(); + return; + } + + currentBurstCells = new List(allCells); currentBurstShot = burstIndex; burstShotsTotal = totalBursts; - ticksToDetonate = 1; // Start detonation immediately + + // Add a small delay before detonation for visual effect + ticksToDetonate = 10; // 10 ticks delay before detonation } protected override void TimeInterval(float deltaTime) @@ -63,35 +71,81 @@ namespace WulaFallenEmpire private void Detonate() { - if (currentBurstCells == null || !currentBurstCells.Any()) + if (currentBurstCells == null || !currentBurstCells.Any() || Map == null) { Destroy(); return; } - // For this burst, we'll detonate all cells - foreach (IntVec3 cell in currentBurstCells) + // Create a copy of the list to avoid modification during iteration + List cellsToDetonate = new List(currentBurstCells); + + // Clear the current burst cells to prevent reuse + currentBurstCells.Clear(); + + foreach (IntVec3 cell in cellsToDetonate) { if (cell.InBounds(Map)) { // Apply explosion effect, but ignore the caster - List ignoredThings = new List { caster }; + List ignoredThings = new List(); + if (caster != null) + { + ignoredThings.Add(caster); + } + DamageDef explosionDamageType = damageDef ?? DamageDefOf.Bomb; - GenExplosion.DoExplosion(center: cell, map: Map, radius: 0.9f, damType: explosionDamageType, instigator: caster, - damAmount: (int)damageAmount, armorPenetration: armorPenetration, - explosionSound: null, weapon: weaponDef, projectile: null, - intendedTarget: null, postExplosionSpawnThingDef: null, - postExplosionSpawnChance: 0f, postExplosionSpawnThingCount: 1, - postExplosionGasType: null, applyDamageToExplosionCellsNeighbors: false, - preExplosionSpawnThingDef: null, preExplosionSpawnChance: 0f, - preExplosionSpawnThingCount: 1, chanceToStartFire: 0f, - damageFalloff: false, direction: null, ignoredThings: ignoredThings, - affectedAngle: null, doVisualEffects: true, propagationSpeed: 0f, - screenShakeFactor: 0f, doSoundEffects: true, postExplosionSpawnThingDefWater: null, - flammabilityChanceCurve: null, overrideCells: null, postExplosionSpawnSingleThingDef: null, preExplosionSpawnSingleThingDef: null); + + // Create explosion parameters with more precise settings + GenExplosion.DoExplosion( + center: cell, + map: Map, + radius: 1.2f, // Slightly larger radius for better visual effect + damType: explosionDamageType, + instigator: caster, + damAmount: (int)damageAmount, + armorPenetration: armorPenetration, + explosionSound: null, + weapon: weaponDef, + projectile: null, + intendedTarget: null, + postExplosionSpawnThingDef: null, + postExplosionSpawnChance: 0f, + postExplosionSpawnThingCount: 1, + postExplosionGasType: null, + applyDamageToExplosionCellsNeighbors: true, // Apply damage to neighbor cells + preExplosionSpawnThingDef: null, + preExplosionSpawnChance: 0f, + preExplosionSpawnThingCount: 1, + chanceToStartFire: 0.1f, // Small chance to start fire + damageFalloff: true, // Add damage falloff + direction: null, + ignoredThings: ignoredThings, + affectedAngle: null, + doVisualEffects: true, + propagationSpeed: 0.5f, // Add some propagation speed for visual effect + screenShakeFactor: 0.3f, // Add screen shake + doSoundEffects: true, + postExplosionSpawnThingDefWater: null, + flammabilityChanceCurve: null, + overrideCells: null, + postExplosionSpawnSingleThingDef: null, + preExplosionSpawnSingleThingDef: null); } } - Destroy(); + + // Check if there are more bursts to come + if (currentBurstShot < burstShotsTotal - 1) + { + // Prepare for next burst + ticksToDetonate = 15; // Wait 15 ticks before next burst + currentBurstShot++; + } + else + { + // All bursts completed, destroy the mote + Destroy(); + } } } } \ No newline at end of file diff --git a/Source/WulaFallenEmpire/Verb/Verb_Excalibur.cs b/Source/WulaFallenEmpire/Verb/Verb_Excalibur.cs index e9ecb4f0..d1ee574c 100644 --- a/Source/WulaFallenEmpire/Verb/Verb_Excalibur.cs +++ b/Source/WulaFallenEmpire/Verb/Verb_Excalibur.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Runtime.CompilerServices; using RimWorld; using UnityEngine; using Verse; @@ -54,12 +53,10 @@ namespace WulaFallenEmpire { get { - // Use the damageAmount from VerbProperties if set, otherwise use the base damage if (this.ExcaliburProps.damageAmount > 0) { return this.ExcaliburProps.damageAmount; } - // Removed AncotUtility.QualityFactor, using a simple multiplier for now return 1.0f * this.damageAmountBase; } } @@ -68,27 +65,14 @@ namespace WulaFallenEmpire { get { - // Use the armorPenetration from VerbProperties if set, otherwise use the base value if (this.ExcaliburProps.armorPenetration >= 0) { return this.ExcaliburProps.armorPenetration; } - // Removed AncotUtility.QualityFactor, using a simple multiplier for now return 1.0f * this.armorPenetrationBase; } } - // Temporarily commented out CompWeaponCharge related code - /* - public CompWeaponCharge compCharge - { - get - { - return this.weapon.TryGetComp(); - } - } - */ - private VerbProperties_Excalibur ExcaliburProps { get @@ -97,6 +81,14 @@ namespace WulaFallenEmpire } } + protected override int ShotsPerBurst + { + get + { + return this.verbProps.burstShotCount; + } + } + protected override bool TryCastShot() { // Calculate all affected cells once @@ -111,14 +103,14 @@ namespace WulaFallenEmpire beam.pathWidth = this.ExcaliburProps.pathWidth; beam.weaponDef = this.CasterPawn.equipment.Primary.def; beam.damageDef = this.ExcaliburProps.damageDef; - beam.StartStrike(allAffectedCells, this.verbProps.burstShotCount, this.verbProps.burstShotCount); + beam.StartStrike(allAffectedCells, this.ShotsPerBurst, this.ShotsPerBurst); return true; } public override void DrawHighlight(LocalTargetInfo target) { - GenDraw.DrawFieldEdges(this.AffectedCells(target), SimpleColor.Red); + GenDraw.DrawFieldEdges(this.AffectedCells(target)); } private List AffectedCells(LocalTargetInfo target)