From e28e8a11643613bc5b58ceeb307e710086a988aa Mon Sep 17 00:00:00 2001 From: Eddoursul Date: Wed, 14 Feb 2024 13:37:23 +0100 Subject: [PATCH] Prevent teleportation, when Calia, Jespar, or Esme follow player --- Companion list.esp | Bin 0 -> 13063 bytes scripts/_00e_teleport_suntempleme.pex | Bin 2233 -> 2600 bytes scripts/_00e_teleportationmescript.pex | Bin 2794 -> 3136 bytes source/scripts/_00e_teleport_suntempleme.psc | 13 +++++++++++-- source/scripts/_00e_teleportationmescript.psc | 10 +++++++++- 5 files changed, 20 insertions(+), 3 deletions(-) create mode 100644 Companion list.esp diff --git a/Companion list.esp b/Companion list.esp new file mode 100644 index 0000000000000000000000000000000000000000..dcde14bff59e649cf6e7af323be7e26b89771d1d GIT binary patch literal 13063 zcmeHOO^g&p6t3AF*x6y(#a$L*VWA}$5(UDK7l{eZ&d>5QGc41yXf&}?GgG_U*`BUR zbq}z3kb_qb#u$H2Byu1@FL04?@gkZSgC=@VFN%rLa8aXC^nkCrs%N`9lc85cW}$nN z?e6-oe)YZYy;n8mtonq3{MQb6J($gu2GHAYeRW_2-eL)a(#2FEhEO4;mRBKleu3%r zUBs%ROsbrMYY(m=Z-C3dOz_Wy*A40gI8@j!qRjFxX-6TvjFm^VE#{CUwR*{x5nd8&#^Ba&`V!s07wdc5el{AP79Z?TG7YFGgbmW-~tiJD7CeW^*63$wD z6QP6xIpP|I+by{G+c#I^PU8NbLB780%+uaip6k}(>27JB_Iz^?WzO{?WnZ7C%9#V6 z7xek}Yg(^vU7ny8Ga1Fnxp1Y=X;uAt$eBe6?tFc3IXr|ifU^;_IvM;!>2fBeptDW` zjnsa)A>ZZRe$jm{n>qI87p-t)ygZM{%?fL-PCQ1~i(nl$);05fCD|@P8Pz!YV zgwd2Op0D<|r%~CBTh(D6R?6nYKz@bqzr{aFU@1asR+&zaqfOh=YqEzwVe-A`_<|{F zJ~fU)@yiP2i0C$4l2n}K!2h-5l2&HxpTDn-Bv`BqgAV7pU+)8v}-xN==hE7B(>)J}F2?VneW?Ylj!Ih&v3O;#F}} zIJSGAu!E0X>_K4T9^13GA`;%a(bL`%ZyRF@I6T4lRUm>Staq*DGl(90UmaRv1Zgu& ze$QfDj|atw_e+U(W6*AxrR&x3Ff^s?_%jdY3g%A0h}7LLoEH%)S9b>uog%3aW4RbQ zZC7vD@M>V@%PW%l?YnD2!C=Ir!E(+SU6GNswe1(pc|B3ubk~EG12`Wj~m_5q{f2k&qd<4P*`ycG|#Zjqlk-o^&^R z(yKy3X50fAXR8iWqH>U6W^*}5xamwa+a+!W1Gov8*qV!*Nk+`mOCp<&d%0Mq8YNl%*2 zp^FGI-3*z2kmOP!Bc-bd@jj4{;o;-Wl05$Yk%!?IEv+DVO!MQvRXFdo6eM)CN7`CB zk&nWUKL7iJxPO5d!ysX^$Ixntc84;78N=0i>kcWTc2%w_N5Ara-ExBJKRS);y7#aA z(BngmJl&R4TW6)U(i}Fh4X5e&vAYO7o&)}EH)igomlFRZ9C#EDc!XSC2cHZ3x{dD; zKKJ!ucK*u{9W+8Nua;ZtLB2ofCcw`H_@lc)Gurm21t<^4>f`9qXM5$73cKSX?OdrR F_74SfE6M-> literal 0 HcmV?d00001 diff --git a/scripts/_00e_teleport_suntempleme.pex b/scripts/_00e_teleport_suntempleme.pex index 2ca47bfad9b9f1266f434f25f812a51378ed0f1a..6b8ef9dfd4684e540e5b82379c3b3f190658cbdd 100644 GIT binary patch literal 2600 zcmb7E?RpbM6n=-K%}2jWXekOtKmo;=wiM|4nU+whwj$vH|Ml4>lXUH7C+<#&dJ|rZ zH{b<$4PJ%6{Dbez?6$O0AKb}i&i8reoHP6P^WXo>or3@$`Nwa+;__a--rRdCLpe~f z-fImbE&GE|?lfzIq>Xa3(^11X8HQC%%Z#p#f~bmJEYVr+>C8FFocogDi(68+w67&f zTS_ZOPJJ6SyIt8fnpk7}An0^tgo(C_I)M&Usjc_B=LI^*G{?Y`0=5Pk85GAXVm@= z#2w47jAhi8nDM;Fq5rdtpEMs@i!tI>F(y23=ey;VeJA^IC=-qACd2Y^onsY-vZbO( z+Hy;Gl<}l(6u9JhyDCGysrmyyVr3E=u-H{`KMWYNZ1U7st@I-4#?~{xKL}#U9)>~h zKsx}58b%!hws9D%fugIGmq#iNJITQ3Nv`}iHdJ1R23JpX<3K zr6Xtc=q$ zEx~w8$27o=hr@`ory?5px*AJ8j3WkQsP-^s+jTXu6J78;H_!Q96-gBR!>49uw4pZr zM9Ua7F*m7>+;*fhZW;LvrNWF|$%wU#xQD6zM}BhDbci5Rts-xFpRso`;x0;NULyI7 zw;|1XAC(hVlh;dgv`{d2GWbPej6_3Yb~|xxcq;vV-`v#+DxUe_P#V;w?c~WYicD#y zD1UB7re#NFj_jr@2@BDa+YgX$9jFoVCLRinPG_6PPhq%nchlk~n5Xygd^>2P0q-h3Q?CzrJwCPPUknNxw$WGdwVkAedJ!KU&qfXkYM21~Vs%S&@g2>9U z&)^6-ey{}2na`pj3~Pxz&_D@gu8CLHBqlL+v}W<9YYy{V=k2QCtaSlqE!edPv(8}* z7#Hrlo$sRHDE^mGBtH8Xi1snq>@$rSN6cc*5hl5PD$HP?g-o@Gi%znHOO7bxEt=aR z6$txnx};16mzgYO%D6%ZDO1Ed445(ts1iZSOygY!PMIZKJvN)gHRet=i?~ks?->LI zR@t06$Me6B8xEBD7ncNXB9B|n3DkeUL?7~<#BF?p8a_sy?=my4a9`znhw?St#XVZx zXNq;Yd-w#6DS_27EDC%oP!YIon@`~#((?i}QdTr=>DmG}!{^EZb-FrnJrfsmbW2@C z8ilbxv$5BVqo9^f_XO6c_}o(UEa@tPR&p<2zWmF@UA>T|E7A4~fno-5#%8x*1x<;> zK(KN0H2qRwHuVI7*7$Q)W+PX3TP+K3d>R6jE?X!r{IbB(+4dU(OzG;yWQ1VpE2&3T zkpe?+a#B-uiFXQY-kbd~)_uZahzG*-$Q_tMD%J$%DQa5S>$WEp+7geUV)jL<|3}ey zAfCe=hy_?l>4dp>xD~h6S+b)tpW*RS>T%SOC4q+mTLPY~E@3?)Enrb|ASNwbQ>jyM vGYqEEE5=Nj;@IuSov^2J!CL literal 2233 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 l;F*>w_Uc`fwSPUk2W(pk$ 0 && ! bHasCompanion + i -= 1 + bHasCompanion = (NoTeleportCompanions.GetAt(i) as Actor).IsPlayerTeammate() + endwhile + + If bHasCompanion || (_00E_TeleportGlobal.GetValueInt() == 1 && ! MQ12b.IsRunning()) || PlayerREF.GetWorldSpace() == Akropolis || MQ03.GetCurrentStageID() < 30 _00E_Teleport_sTeleportNotPossible.Show() MAGVampireSunlight.Play(PlayerREF) PlayerREF.AddItem(_01E_TeleportrolleSonnentempel, 1) @@ -39,4 +46,6 @@ ObjectReference Property _00E_TeleportMarker_Suntemple Auto Message Property _00E_Teleport_sTeleportNotPossible Auto -Scroll Property _01E_TeleportrolleSonnentempel Auto \ No newline at end of file +Scroll Property _01E_TeleportrolleSonnentempel Auto + +Formlist Property NoTeleportCompanions Auto diff --git a/source/scripts/_00e_teleportationmescript.psc b/source/scripts/_00e_teleportationmescript.psc index 5bf1f822..68d04dce 100644 --- a/source/scripts/_00e_teleportationmescript.psc +++ b/source/scripts/_00e_teleportationmescript.psc @@ -7,7 +7,14 @@ Scriptname _00E_TeleportationMEScript extends activemagiceffect Event OnEffectStart (Actor akTarket, Actor akCaster) - If (_00E_TeleportGlobal.GetValueInt() == 1) || (PlayerREF.GetWorldSpace() == Akropolis) + bool bHasCompanion = false + int i = NoTeleportCompanions.GetSize() + while i > 0 && ! bHasCompanion + i -= 1 + bHasCompanion = (NoTeleportCompanions.GetAt(i) as Actor).IsPlayerTeammate() + endwhile + + If bHasCompanion || (_00E_TeleportGlobal.GetValueInt() == 1) || (PlayerREF.GetWorldSpace() == Akropolis) _00E_Teleport_sTeleportNotPossible.Show() MAGVampireSunlight.Play(PlayerREF) MagicEffect CastedMGEF = Self.GetBaseObject() @@ -48,6 +55,7 @@ Cell Property ability_container Auto Formlist Property _00E_TeleportScroll_List Auto Formlist Property _00E_TeleportScrollMGEF_List Auto +Formlist Property NoTeleportCompanions Auto Actor Property PlayerREF Auto