diff --git a/Companion list.esp b/Companion list.esp new file mode 100644 index 00000000..dcde14bf Binary files /dev/null and b/Companion list.esp differ diff --git a/scripts/_00e_teleport_suntempleme.pex b/scripts/_00e_teleport_suntempleme.pex index 2ca47bfa..6b8ef9df 100644 Binary files a/scripts/_00e_teleport_suntempleme.pex and b/scripts/_00e_teleport_suntempleme.pex differ diff --git a/scripts/_00e_teleportationmescript.pex b/scripts/_00e_teleportationmescript.pex index b713040d..fc4f444b 100644 Binary files a/scripts/_00e_teleportationmescript.pex and b/scripts/_00e_teleportationmescript.pex differ diff --git a/source/scripts/_00e_teleport_suntempleme.psc b/source/scripts/_00e_teleport_suntempleme.psc index 73a0c42d..40a7b142 100644 --- a/source/scripts/_00e_teleport_suntempleme.psc +++ b/source/scripts/_00e_teleport_suntempleme.psc @@ -6,7 +6,14 @@ Scriptname _00E_Teleport_SuntempleME extends activemagiceffect Event OnEffectStart (Actor akTarket, Actor akCaster) - If (_00E_TeleportGlobal.GetValueInt() == 1 && !(MQ12b.IsRunning())) || PlayerREF.GetWorldSpace() == Akropolis || MQ03.GetCurrentStageID() < 30 + 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 && ! 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