From 2dc5ae454a646f57071fab6a547293efb4b451d6 Mon Sep 17 00:00:00 2001 From: Eddoursul Date: Wed, 24 Aug 2022 01:50:58 +0200 Subject: [PATCH] Fixed powder barrels not blowing up from hit with a fire arrow --- ...arrels explode on hit with flame arrow.esp | Bin 0 -> 827 bytes scripts/_00e_a1_firearrowsc.pex | Bin 3999 -> 4066 bytes scripts/_00e_explosivebarrelsscript.pex | Bin 2359 -> 3094 bytes source/scripts/_00e_a1_firearrowsc.psc | 3 ++- .../scripts/_00e_explosivebarrelsscript.psc | 22 +++++++++++++++++- 5 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 Powder barrels explode on hit with flame arrow.esp diff --git a/Powder barrels explode on hit with flame arrow.esp b/Powder barrels explode on hit with flame arrow.esp new file mode 100644 index 0000000000000000000000000000000000000000..02267c32d8a626d1fbbe05e7dc9cb3bf8a5c1230 GIT binary patch literal 827 zcmaJgCtX z1&l%spxz`_87MPI*R;VR+`bI_;6(c2x=2Ex#3toGJgVG{hh8fFQPzQtheCRRzNQg>!jCGzy(ih2`o<`H|6`_D59(20x=eU;D;Pq_c^))p&i+8eh(cZpT%Fk8oV6;K6 zfm^LImpzGtDDjWPmM5hMpl1!WC1m~XMYL-AKTzsm4UTRi>aSM!0-Hh%+9+tqCV literal 0 HcmV?d00001 diff --git a/scripts/_00e_a1_firearrowsc.pex b/scripts/_00e_a1_firearrowsc.pex index 5eb187beddb2fa0669603ee61e7639fa74dc6175..717c2c5a45c0037b3e0dd3e519bc9afad2050594 100644 GIT binary patch literal 4066 zcmb7F+gcmR5&jz_#L0jS1{*K77CYJ9WaCBHV5}TLNH+G`5X8Y7AH*QFU@U1yJ2L{~ z7uZ+GE95>m&fneBBVo93rax(_tE;O2I?jLh|MlhLJMB|m62-7wOsgY|fao0r^F-qJ$puq~TS%wHn0apbv?EYrbSEUHM{wxabq zgBqPxRu3&|E%rlvUT8XDSlJ2OYC{HRm92%P%8t`y@N^+)$Pctasx5;C#`AfTn(boA zT*vVF!KKK0GNDChEu@|zV>pa;oyY$J)S_0q|K(n2`5~vZ*)%otozCi)xR0+c6hMz_ zn7eRl1FfWR!yI2sgYKQrT5b#9ekrW;_g<*2OF;Kj3Wky_V(J2Z<^o?Fo<$6lqrml! z@J*@Xv6p-=8y!1QHjq&#@Ir26w%Q2-)>JmsGa-}Dn~9Km>3b4`PGiRjj%1{$f)hq; z9g48w+Yd05&nuxlHd)MjXo)4HRPW##9gvksS8dZh44mK$Q|x@>qN(N|<%w(}70PBE znblfNjS~#%A)?6{#q&;x(GSjw>Roc13dpe2SaU+Dg+?4#z0EKgcN%K5E$fo5RVBv# z!}lC%L6_k))@2wKd@pibkG2MlQ#k@(^L>t>b=j00hp}VJmUv`|6^zo4?wupMo>X&B zqZu~iP}8yH#U*>k;xf{urtfg*xjhr`I?cU|j?M6W;i%EksWAfv*kUfB78B}0LOsNU zv86r{>kcQT#P#y!2A?`%S&uC1^RhLQdz4Ts7&t8HX*K5BnP?`j)p~4Y7Z-5NX%$Qv zsaa9 z`NmmDuFNGd$R#nzEm%OgBv!eHNU2i8%(gt@RF?sLDbr$8#-F>#=NltDb))LBRGs05 zSyMIH$k&a+IbU__uB^qaGU&-u(<{TiSM+Lz9`(I7-sPEH41B?Qkh26^bKO;64*Qw^ z2Zs4^7U)x-eMR(JA_b%|60cExmIg*~jcXE9T-WuQ#x!QQl=6TQn2XnK+{T@F&0}5* zWI)|-xxUludwh@k7uF9@OW7L)GFVF1GL|)a2)ub!uL8QO2(_N*^%NUi&-GH4=;bhW z^xDHKy?%mP>TpE4dJwNe#$r_9iaOvk@C(Ka#s4vkV?uF(s|_j znyo-dRSuFDZetbP!cFi^Q9dkdhUycT}s#l_mpDRuPG&~8YsD>H)tEY z?isIp9$zv_Ya7PH9|h(Fo@sS5uL(Slx8PmR6<`;jh@{JIzpTGO-F)AJxl3q1=kmZ_+ML zx0uy!QY@owR#y@cHX|E&0=qP(LcPbR>@y;-xF4oFJF#Jr7~YKy@6h5afn6T_BycAN z+!vp|;0=@${f7A7sC_?+?5)5%!+vYo zS7@}RjUFf|#=b%cN8o@a4@q%%K#F2gJN`BnJD>$krzrR?ts44J`_*r7X%H6IRR5<> zpZ>!^og^xSI*xEmw_K*?J>AWq!T%;5Zt?B0V|)gn9Vc>@1F z?Pq}-0)7n5Gx4P_zQCkr5+h^dQ`8IrEvkkGZK?yBBGs^_)7r^bV69&5Tul~#O{ z>H{jZtdhdhR=26D4bF{*cAW8k1|XyaAAyJ?k(EJKKNUJ%1rY5b&&fUM;c_x2;iLCB rWq3X?TxSfIvXZ8}@$OWiQ1Cv`2foe(PI>s^TqE-AOt<#Oo;&^ra@Zm> literal 3999 zcmb7F>slMf8Ggq)B4LO*m_UIF+ijAjbr2XZO5H}BY+M^C;@}Xc${>x<8fjPFU4e1$ zsO?4cN_q?Z-#_jTor;oeyNc)}U{f;yHpW}c2D{%_~e14qj`~wr!`T5Oixmew@ zTvc{m=d!Z?u;bN`JFr@vR+DIO3zj%SaV)O=M0%e~nzv4?@Vc@CbI{}&9wGTUW zExf&JZ#EjLrfpmwLlL`W*_PMD@UFerl2^)Iqwl8UYx`|qwf9xqxlnZs6Mge-*Xnds zz1(g)xLdBj>3Y5icGIpkrR}$s&3!a9!gZ%hHeYk>y5(DrEn7%8t$JPAxFc)6b)nkw z%&I996z-Qw{b@;E1MO$aaoa7+^Q#xqMYa)gxOd&$INUz7EnijWwr;Fbo+dF|Dg~MC zZ*B#0dUsq5$o6h4$R%kqnvF0U4c5fJs+LcW4s@1|&WY*U$?l&gigu3;X z^t|eUYt_z`dsW?=U#cF+7RzHAY?50v8q%EiM^PuHM)XwtFJYgUn$?K_p)GmyD6cmRI*;0vzv$L=qQ!7YqwH(P4 zXBm*-_>J>4?)c5%w9dKGhaG6Cc~LZTQE3rKpZ)jF?jE-k;-R316YD>$cbc&Qb9hpZ~lzGgKnRWEqvD$LsIGPnuT72mb&Gvpk5 z)2;_HMiCH$j=iSNEIZ(`^87%$XUYeub?NyW^)TSYhmIZ?IQK8q1ry1X>vfaafVoNy8CJQt64kf(IHp#SKHV~x*pL-nguywCdNUu{E)+2$ z+v{D|UM^2uvNl%$5^3u}pU}%Qrxn}lNLlLc} zFdP)w?Fr=hhVuM%$M&UVvpi82OEI;~_NkWQmxo0>RD%bq`s=3h`Si{33>amLrEN z5%Czg;In5+^TqY)bCut9Z9ROdPz%Z(%v$s{{~L1r8VlUgUw2I;A|eT-kPp|O(WOA^ z5w1~;agCdG7k7;^4GdyBTr-%#Y`EqyXACmnzAw1GH0x`8jo*E=9zri2NLKrQWY!Xv zjA#J#_?=m6=&cRtwPn^*JmY$9mPTQAIaJI##IaegpqEzWwTo)FBx^7za9b<*r2meg zfa3oUhVhw}0(Y3cd2|iTGj0k%asr4=z#Y-aJxKvjr{Iot~*_aov# zv@4Haku-5-@BqJNFd;L{dd8Y*7B*(4@D-6mvjToY$00Mr%8x|M9sIVZnP5N0BF!ip z5d+NP8zvP3Op?&0%`;FV(s3s+Pqv5!Eb^Ta0`mfMdYo=e2s{#)5h!X_Yle)rcw1nR z)D&NYTk3(Ou}qK^f<2~q6(xL&-{T4STtZ+u1Qs#yN(j76#3uqPRQy4pAn@1(5Ne;$ z?W({8wSN>C75Fw(tlkajDdiW-zc551>VpdowT)+B;9wIFMW9ecLd&sX?Fs5 ztkYY8`$ow8?~|ozFc`*Ew~3fqK`2t~2s%aH4o1c|6^)>6ZgE0SdUCkQi8kqYTM7rpAe;H~p`V zYxM)tU+5R~q0fElo*4-{!RhJ@vS!YleJ=Z)5&yjZ{m)bv3~<=#qhBy~FgaO1DF4)O z{m}U!R;?fqZdkDcrx87Dgf{Z!YSnKBVbd+3UnJ{?r;b;^_qay5I1mZ^P{Tt7r;F}q zBC14IB#?XNN4{RBx4q|1gwbtpU4&84v?Is&cvKT>$Cg(URdjEA?;2GJ8(9~wh(sKp z?`>JZi3reR`(D+NILk%m*r`^9hk@b={&Dq5Sm~i~E{FwatXAjbkHs zs4P}Vy}9c9E`}6u?M!Tyk&U6M=;wMSW)%~iC_hILzUidaiWcLY&b67C3JjkMlI4Q= z+V|LQ#iD%gvBcfQVkGK~saa&#ozOaT1v0v;kf}t0-0@FEP>LeU zJ^{BCPtcU!_F9LlR(Ran@tUlF(6h{9GFeO|i)nNx)k{P(NLzNqz;f1Ej4_@h zXhUm3RR+J&8m|WUUId~Z-(U`n@*#_c>Afd zC7Zjfo4c1vo6KO%Z_-I_$F*!xinavIP`F3v)lI5zFfQ+k8gGsWXtu%vxg!1?EPh(3 z@YIRyV<9W$gauz+|3c)e!i5cCJ4cSF#-;1_#Hp@b-uKF0Rj+$}Z*GSEnk9D%DP4Av#BoxXN9K}&VOh(} zWdk?4HgH{TjWj5jXbI475YVRtHxxoP!!6vF_Vh5W8n^?qM|AOja^?lJ%9Qi;;s$EKbs z#idwrnk3Vd+RDx#XqhjHBvx5ZF`>D%p+jo_rNW#vb3qo$z?C$T4EqSVk~U~)MdnYV zY{!+)g1N+~pBvcZiL_!Sbf$Tch?j^n8lFmxDgiGPKzFu*rIJPF7Hd* zZQ+%WTY|DJ5W9xLSG3Pz@SAaqzfw;&)9W@p#&n10ly0|48SI&dF6^+$-|#W9%T||G zD!dwR+44i=Vb{PL#XFhUm5V_dd)H=6H`ZQ!byF~xKYsj!-(^T<6&dn|R1Ay|Nbbnd w+nBqGGAy}MdZ|zJ$nkkSI(u(mKXzuAPw4A2H$DH;O{~|^4NbJOt)esj1?R6UL;wH) literal 2359 zcma)6+fv&`82%Q^HkgA6hfop%rU@k}O&|vjHce8%Kr)jQCMJZN4ztLMty)NoB!~8m zI@6cv1Ei18Ui1li)r(&B+m#%f)O5N#w*K>e`~AQ4_q$(yPxU~6>$^XG`w270OH13w z+drJUe(1bcn=%NL8&>SVIgcKkhcOs?kb@1}lE9~Ote9Un^9saE`EV5{)>y$sNM>IY}8 z6GoWrp0a(ke|)%eWP5aQ6dWU(Rt8$RnRn!drK5Mgkq#1OukKaiXJQ$e8Wszr-2lt`6zI3F}+mQ^-kY z&#jvNBK6XXFeII=CWp(@qft}HmP(O2J6}OxsiZRw*^$Jy3Tub0X{l=%ed`6P#!jh# zj$}xzP`RhDYVu5>zfzYCwM8+I=-YRttu~_9JfunPoajeb?<9vWQ;7n{t6_ep>6!T} zM0FVz0u?m_FQlRhc8sy0+hsr!ErovB*r?S46^1?sM>gU)!hmeFuZ~=YJSb20{Ryjg|FH_U|R%63j2RZY0*_0&a7 zPR{qXJ>6>(HQ;-jJWIdXF@L(rMP$oPC{J94O#EucAE2MFJx7Kg41pf~LDE91C0M`| zhOXRsx?&* zv#c?}oJ1MMXKha&lT1xK{kYLq#%R^>)3_P?K{lt%y>G$749_mmHETG?VKgr=BQULr z7S}0jVPrz!j=-Ei!8Bk};0uBIL`}hZ_Tj^?>beYI5eYXY&7Lly!)!a5-+pb;%tRF zkvtU`ORPd*B@SFo9%R$RXQ;0UEHZ!1a2Y4|Cn^&cO_hZ36p8tUxm*GpWS@PfDaFLib|QG*efnwL>addVkDbwDt~1MIJ;R%rvCJ@G h+dwsgOz1T1v<)EivM$ccloLdm&YCeA!K}_<`3Kdgxm5rF diff --git a/source/scripts/_00e_a1_firearrowsc.psc b/source/scripts/_00e_a1_firearrowsc.psc index c89d4a82..dddfad97 100644 --- a/source/scripts/_00e_a1_firearrowsc.psc +++ b/source/scripts/_00e_a1_firearrowsc.psc @@ -20,6 +20,7 @@ Event OnEffectStart(Actor akTarget, Actor akCaster) amOldAmmo = GetEquippedAmmo() akCaster.AddItem(_00E_A1_FireArrowAmm, GetArrowCount()) akcaster.EquipItem(_00E_A1_FireArrowAmm) + AddInventoryEventFilter(_00E_A1_FireArrowAmm) EndEvent @@ -49,7 +50,7 @@ Event OnPlayerBowShot(Weapon akWeapon, Ammo akAmmo, float afPower, bool abSunGaz EndEvent Event OnItemRemoved(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akDestContainer) - If akBaseItem == _00E_A1_FireArrowAmm + If akItemReference && ! akDestContainer akItemReference.Delete() EndIf EndEvent diff --git a/source/scripts/_00e_explosivebarrelsscript.psc b/source/scripts/_00e_explosivebarrelsscript.psc index ef5dcc29..69850f69 100644 --- a/source/scripts/_00e_explosivebarrelsscript.psc +++ b/source/scripts/_00e_explosivebarrelsscript.psc @@ -11,7 +11,24 @@ Import Utility Event OnHit(ObjectReference akAggressor, Form akSource, Projectile akProjectile, bool abPowerAttack, bool abSneakAttack, bool abBashAttack, bool abHitBlocked) - If (akProjectile && _00E_ExplosiveBarrel_ValidProjectiles.HasForm(akProjectile)) || (akSource && _00E_ExplosiveBarrel_ValidSources.HasForm(akSource)) + bool bExplode = (akProjectile && _00E_ExplosiveBarrel_ValidProjectiles.HasForm(akProjectile)) || (akSource && _00E_ExplosiveBarrel_ValidSources.HasForm(akSource)) + + if ! bExplode + Actor aggressor = akAggressor as Actor + if aggressor + if _00E_A1_FireArrowAmm == None + _00E_A1_FireArrowAmm = Game.GetForm(0x670EC) as Ammo + endif + if _00E_A1_FireArrowME == None + _00E_A1_FireArrowME = Game.GetForm(0x5BD36) as MagicEffect + endif + if aggressor.IsEquipped(_00E_A1_FireArrowAmm) || ( aggressor.HasMagicEffect(_00E_A1_FireArrowME) && aggressor.GetItemCount(_00E_A1_FireArrowAmm) == 0 ) + bExplode = true + endif + endif + endif + + If bExplode If bExploded == False bExploded = True If ExplosionMarkerRef == None @@ -75,3 +92,6 @@ Static Property XMarker Auto Bool bExploded = False ObjectReference ExplosionMarkerRef + +MagicEffect Property _00E_A1_FireArrowME Auto +Ammo Property _00E_A1_FireArrowAmm Auto