Stealth21 Posted April 18, 2021 Share Posted April 18, 2021 I considered it's a bit a pity that after the main SI quest line is ended, there are lifeless(?) obelisks of Order remains on the Isles, which are just standing like a memorials of the Greymarch, hiding their potential... and a treasure :tongue: . So, if some of you want to reactivate/rise each of them by the spell, read below how to (needs OBSE). Magic Effect Script Code for the spell: scn zzSMSEActivateObeliskSpellSCRIPT ref Obelisk short deactivated short heartCount Begin ScriptEffectStart if ( GetPlayerInSEWorld == 1 ) set Obelisk to GetSelf if ( Obelisk.GetBaseObject == SEObeliskNEW ) if ( Obelisk.GetIsReference SE13Obelisk1Ref == 1 ) set deactivated to SE13Obelisk1Ref.deactivated set heartCount to SE13Obelisk1Ref.heartCount elseif ( Obelisk.GetIsReference SE13Obelisk2Ref == 1 ) set deactivated to SE13Obelisk2Ref.deactivated set heartCount to SE13Obelisk2Ref.heartCount elseif ( Obelisk.GetIsReference SEObelisk01 == 1 ) set deactivated to SEObelisk01.deactivated set heartCount to SEObelisk01.heartCount elseif ( Obelisk.GetIsReference SEObelisk02 == 1 ) set deactivated to SEObelisk02.deactivated set heartCount to SEObelisk02.heartCount elseif ( Obelisk.GetIsReference SEObelisk03 == 1 ) set deactivated to SEObelisk03.deactivated set heartCount to SEObelisk03.heartCount elseif ( Obelisk.GetIsReference SEObelisk04 == 1 ) set deactivated to SEObelisk04.deactivated set heartCount to SEObelisk04.heartCount elseif ( Obelisk.GetIsReference SEObelisk05 == 1 ) set deactivated to SEObelisk05.deactivated set heartCount to SEObelisk05.heartCount elseif ( Obelisk.GetIsReference SEObelisk06 == 1 ) set deactivated to SEObelisk06.deactivated set heartCount to SEObelisk06.heartCount elseif ( Obelisk.GetIsReference SEObelisk07 == 1 ) set deactivated to SEObelisk07.deactivated set heartCount to SEObelisk07.heartCount elseif ( Obelisk.GetIsReference SEObelisk08 == 1 ) set deactivated to SEObelisk08.deactivated set heartCount to SEObelisk08.heartCount elseif ( Obelisk.GetIsReference SEObelisk09 == 1 ) set deactivated to SEObelisk09.deactivated set heartCount to SEObelisk09.heartCount elseif ( Obelisk.GetIsReference SEObelisk10 == 1 ) set deactivated to SEObelisk10.deactivated set heartCount to SEObelisk10.heartCount elseif ( Obelisk.GetIsReference SEObelisk11 == 1 ) set deactivated to SEObelisk11.deactivated set heartCount to SEObelisk11.heartCount elseif ( Obelisk.GetIsReference SEObelisk12 == 1 ) set deactivated to SEObelisk12.deactivated set heartCount to SEObelisk12.heartCount elseif ( Obelisk.GetIsReference SEObelisk13 == 1 ) set deactivated to SEObelisk13.deactivated set heartCount to SEObelisk13.heartCount elseif ( Obelisk.GetIsReference SEObelisk14 == 1 ) set deactivated to SEObelisk14.deactivated set heartCount to SEObelisk14.heartCount elseif ( Obelisk.GetIsReference SEObelisk15 == 1 ) set deactivated to SEObelisk15.deactivated set heartCount to SEObelisk15.heartCount elseif ( Obelisk.GetIsReference SEObelisk16 == 1 ) set deactivated to SEObelisk16.deactivated set heartCount to SEObelisk16.heartCount elseif ( Obelisk.GetIsReference SEObelisk17 == 1 ) set deactivated to SEObelisk17.deactivated set heartCount to SEObelisk17.heartCount elseif ( Obelisk.GetIsReference SEObelisk18 == 1 ) set deactivated to SEObelisk18.deactivated set heartCount to SEObelisk18.heartCount elseif ( Obelisk.GetIsReference SEObelisk19 == 1 ) set deactivated to SEObelisk19.deactivated set heartCount to SEObelisk19.heartCount elseif ( Obelisk.GetIsReference SEObelisk20 == 1 ) set deactivated to SEObelisk20.deactivated set heartCount to SEObelisk20.heartCount endif if ( Obelisk.GetDestroyed == 0 ) if ( deactivated == 0 ) Message "That obelisk is already activated." else Message "That obelisk is already rised and deactivated." endif else if ( Obelisk.GetIsReference SE13Obelisk1Ref == 1 ) set SE13Obelisk1Ref.active to 1 if ( SE13Obelisk1Ref.heartCount < SEObeliskMaxHearts ) set SE13Obelisk1Ref.deactivated to 0 else set SE13Obelisk1Ref.deactivated to 1 endif elseif ( Obelisk.GetIsReference SE13Obelisk2Ref == 1 ) set SE13Obelisk2Ref.active to 1 if ( SE13Obelisk2Ref.heartCount < SEObeliskMaxHearts ) set SE13Obelisk2Ref.deactivated to 0 else set SE13Obelisk2Ref.deactivated to 1 endif elseif ( Obelisk.GetIsReference SEObelisk01 == 1 ) set SEObelisk01.active to 1 if ( SEObelisk01.heartCount < SEObeliskMaxHearts ) set SEObelisk01.deactivated to 0 else set SEObelisk01.deactivated to 1 endif elseif ( Obelisk.GetIsReference SEObelisk02 == 1 ) set SEObelisk02.active to 1 if ( SEObelisk02.heartCount < SEObeliskMaxHearts ) set SEObelisk02.deactivated to 0 else set SEObelisk02.deactivated to 1 endif elseif ( Obelisk.GetIsReference SEObelisk03 == 1 ) set SEObelisk03.active to 1 if ( SEObelisk03.heartCount < SEObeliskMaxHearts ) set SEObelisk03.deactivated to 0 else set SEObelisk03.deactivated to 1 endif elseif ( Obelisk.GetIsReference SEObelisk04 == 1 ) set SEObelisk04.active to 1 if ( SEObelisk04.heartCount < SEObeliskMaxHearts ) set SEObelisk04.deactivated to 0 else set SEObelisk04.deactivated to 1 endif elseif ( Obelisk.GetIsReference SEObelisk05 == 1 ) set SEObelisk05.active to 1 if ( SEObelisk05.heartCount < SEObeliskMaxHearts ) set SEObelisk05.deactivated to 0 else set SEObelisk05.deactivated to 1 endif elseif ( Obelisk.GetIsReference SEObelisk06 == 1 ) set SEObelisk06.active to 1 if ( SEObelisk06.heartCount < SEObeliskMaxHearts ) set SEObelisk06.deactivated to 0 else set SEObelisk06.deactivated to 1 endif elseif ( Obelisk.GetIsReference SEObelisk07 == 1 ) set SEObelisk07.active to 1 if ( SEObelisk07.heartCount < SEObeliskMaxHearts ) set SEObelisk07.deactivated to 0 else set SEObelisk07.deactivated to 1 endif elseif ( Obelisk.GetIsReference SEObelisk08 == 1 ) set SEObelisk08.active to 1 if ( SEObelisk08.heartCount < SEObeliskMaxHearts ) set SEObelisk08.deactivated to 0 else set SEObelisk08.deactivated to 1 endif elseif ( Obelisk.GetIsReference SEObelisk09 == 1 ) set SEObelisk09.active to 1 if ( SEObelisk09.heartCount < SEObeliskMaxHearts ) set SEObelisk09.deactivated to 0 else set SEObelisk09.deactivated to 1 endif elseif ( Obelisk.GetIsReference SEObelisk10 == 1 ) set SEObelisk10.active to 1 if ( SEObelisk10.heartCount < SEObeliskMaxHearts ) set SEObelisk10.deactivated to 0 else set SEObelisk10.deactivated to 1 endif elseif ( Obelisk.GetIsReference SEObelisk11 == 1 ) set SEObelisk11.active to 1 if ( SEObelisk11.heartCount < SEObeliskMaxHearts ) set SEObelisk11.deactivated to 0 else set SEObelisk11.deactivated to 1 endif elseif ( Obelisk.GetIsReference SEObelisk12 == 1 ) set SEObelisk12.active to 1 if ( SEObelisk12.heartCount < SEObeliskMaxHearts ) set SEObelisk12.deactivated to 0 else set SEObelisk12.deactivated to 1 endif elseif ( Obelisk.GetIsReference SEObelisk13 == 1 ) set SEObelisk13.active to 1 if ( SEObelisk13.heartCount < SEObeliskMaxHearts ) set SEObelisk13.deactivated to 0 else set SEObelisk13.deactivated to 1 endif elseif ( Obelisk.GetIsReference SEObelisk14 == 1 ) set SEObelisk14.active to 1 if ( SEObelisk14.heartCount < SEObeliskMaxHearts ) set SEObelisk14.deactivated to 0 else set SEObelisk14.deactivated to 1 endif elseif ( Obelisk.GetIsReference SEObelisk15 == 1 ) set SEObelisk15.active to 1 if ( SEObelisk15.heartCount < SEObeliskMaxHearts ) set SEObelisk15.deactivated to 0 else set SEObelisk15.deactivated to 1 endif elseif ( Obelisk.GetIsReference SEObelisk16 == 1 ) set SEObelisk16.active to 1 if ( SEObelisk16.heartCount < SEObeliskMaxHearts ) set SEObelisk16.deactivated to 0 else set SEObelisk16.deactivated to 1 endif elseif ( Obelisk.GetIsReference SEObelisk17 == 1 ) set SEObelisk17.active to 1 if ( SEObelisk17.heartCount < SEObeliskMaxHearts ) set SEObelisk17.deactivated to 0 else set SEObelisk17.deactivated to 1 endif elseif ( Obelisk.GetIsReference SEObelisk18 == 1 ) set SEObelisk18.active to 1 if ( SEObelisk18.heartCount < SEObeliskMaxHearts ) set SEObelisk18.deactivated to 0 else set SEObelisk18.deactivated to 1 endif elseif ( Obelisk.GetIsReference SEObelisk19 == 1 ) set SEObelisk19.active to 1 if ( SEObelisk19.heartCount < SEObeliskMaxHearts ) set SEObelisk19.deactivated to 0 else set SEObelisk19.deactivated to 1 endif elseif ( Obelisk.GetIsReference SEObelisk20 == 1 ) set SEObelisk20.active to 1 if ( SEObelisk20.heartCount < SEObeliskMaxHearts ) set SEObelisk20.deactivated to 0 else set SEObelisk20.deactivated to 1 endif endif if ( heartCount < SEObeliskMaxHearts ) Obelisk.PlayGroup forward 1 let Obelisk := Obelisk.GetParentRef Obelisk.Activate SEObeliskTurnOn 1 else Message "That obelisk was overwhelmed by it's own power not long ago." endif endif endif endif End The spell itself:Name: Greymarch's EchoType: Lesser PowerScript Effect Always AppliesImmune to SilenceSpell Level: NoviceSpell Cost: 0 Effect: Script EffectRange: Touch (can be applied on the activator even if it's Destroyed flag is set to 1)Area/Duration: 0Script: {The code above}Effect name: Rise the obeliskSchool: ConjurationVisual Effect: Summon WabbaEffect is Hostile: NoWho is that NPC who is giving it: Haskill (SeHaskill)When he is givinig it: edit his SE14Benefits dialogue topic - addPlayer.AddSpell IDOfthatSpellto the end of the result script attached to this dialogue topic (and compile). Also, edit the script "SEKnightOfOrderTemplateSCRIPT" attached to the "Knight of Order" NPC (SEKnightOfOrderRespawn) - the line:if GetStageDone SE13 200 == 1- edit it to:if ( GetStageDone SE13 200 == 1 ) && ( Player.HasSpell IDOfthatSpell == 0 )or else the obelisk will be spawning them while they are in their disabled state. Link to comment Share on other sites More sharing options...
Oblivionaddicted Posted April 18, 2021 Share Posted April 18, 2021 (edited) I like the idea. Did you ever think about creating a mod with this concept? Edited April 19, 2021 by Oblivionaddicted Link to comment Share on other sites More sharing options...
Stealth21 Posted April 19, 2021 Author Share Posted April 19, 2021 That's just a three points of where to edit, and is not worth to create a whole mod. Besides, I tried to create a mod, a big one (too big for me as appeared to be), in fallout3. I had not enough purposefulness and abandoned it in such state that as I think no one can complete it)) The ready detailed code, tested and currently applied to one of someone's plugins I have (precisely saying, to SM_ShiveringIsles.esp) and currently playing with. Everyone can freely use it without anyone's permission. What is the wondering thing - the loot in the containers is updating/renewing each week, right? As everyone knows, every obelisk has a linked parent crystal chest, which can be accessed after the obelisk is deactivated. For now, I assume next how the obelisk and it's linked chest are updating every week:1. After the obelisk was reactivated with that spell, after the week passed - obelisk reset it's hearts applyed count, sets itself in Destroyed flag1a. and the chest updates it's loot1b. and the chest do not updates it's loot 2. After the obelisk was reactivated with that spell, after the week passed - obelisk reset it's hearts applyed count, but do not sets itself in Destroyed flag2a/b same for it's linked chest 3. After the obelisk was reactivated with that spell, after the week passed - it might be because of "The End of Order" is completed, somewhere in the scripts the week updating process was stopped3a/b however, for the chest it is another aspect As I currently playing, and there is even a quest which give me a note every week, I will go and check the obelisk after the week is passed. Link to comment Share on other sites More sharing options...
Oblivionaddicted Posted April 19, 2021 Share Posted April 19, 2021 You don't need to change a lot of things to make an interesting mod. You can get a lot of success with a mini-mod. Link to comment Share on other sites More sharing options...
Stealth21 Posted April 25, 2021 Author Share Posted April 25, 2021 (edited) So... more than one week passed, I returned to the obelisks which was previously rised by the player in the way described in the first message. The obelisks are not updating themselves, they are in their deactivated state (means they still remember the heartCount value of hearts applyed to them to deactivate them), can be looted and there is no any loot in their linked crystal chests updated too. So, with that info, there could be two ways of realizing the idea concept.1. Release it as it is (means the obelisks can be activated using that spell). So, there is totally 22 obelisks in SE world which can be activated, and they can be activated (and looted) only once. Anyway, the oblivion gates can be closed only once too.2. Make a script for some quest (for example, for SEObelisks which has no script attached to it and never completes OR create a new one). In that script it will be counting 7 days since the moment of certain obelisk deactivated. When those 7 days passed, that ceratin obelisk voids it's heartCount, and since "The End of Order" was completed, turn it to it's deactivated (means it could be activated) Destroyed state, remove all of the items inside it's linked crystal chest and add all of the LeveledItems which are presented in SEOrderedChest. Edited April 25, 2021 by Stealth21 Link to comment Share on other sites More sharing options...
Striker879 Posted April 26, 2021 Share Posted April 26, 2021 Something that I discovered in my own gameplay regarding the Obelisk's is that the Obelisk priests have an item that must be in their inventory to reactivate the Obelisk (SEOrderPriestWidget). It could be that they need the widget to reactivate the Obelisk or having it in their inventory stops them from reactivating the Obelisk, it was some time ago I looked into this and I was trying something different from what are doing. Look at their resurrect script. Link to comment Share on other sites More sharing options...
Stealth21 Posted April 27, 2021 Author Share Posted April 27, 2021 No and yes, obelisks can be activated in several ways. The way the priest activates it is a script part where the case the activator actor is belongs to the faction such as the priests are in. Another way of activation is a straight one which presented and used among the stages in SEObelisks "quest". The way of the spell in the first post is similar to what can be viewed in the SEObelisks... but I obtained it imperically from the script which has the obelisks :D To reactivate the obelisk is not a problem and it is working well. I just described that it seems that no one of the scripts is updating either the obelisks ('s heartCount) or their linked crystal chests content after they were looted, so it have to be realized customly. Or, I being repeating, maybe to release it as it is side similarly like an oblivion gates concept which can be closed and provide a sigil stone only once per gate. Link to comment Share on other sites More sharing options...
Striker879 Posted April 27, 2021 Share Posted April 27, 2021 I'm no scripter, though I do recall going through the scripts looking for a way to do what I had been trying to do (resurrect the priests but stop them from reactivating the Obelisks). The key thing in that case was either make sure they had (or maybe it was didn't have) that widget, which was an item that didn't show in their inventory anywhere (if memory serves). Link to comment Share on other sites More sharing options...
Stealth21 Posted May 21, 2021 Author Share Posted May 21, 2021 (edited) I wouldn't say that I wanted to do that so hard... but I done :D Just so. Continuing the idea of obelisks reactivating, I decided to make a script for those obelisks which were previously activated (for almost every obelisk actually, I mean here what is the script for) - they will be "recharging" their power for one week from the moment of the deactivation in each case separately (or from the moment you attached your plugin with the scripts above and below). Also they will "refresh" the loot in their linked containers.So, after you applied the changes from the first post here, also apply next:Edit the script "SE13KnightOfOrderSCRIPT" attached to the "Knight of Order" NPC (this time it is on the SE13KnightOfOrderRespawn) - the line:if getstage SE13 >= 100- edit it to:if ( getstage SE13 >= 100 ) && ( Player.HasSpell zzSMSE14ActivateObelisk == 0 )another line also in this script:if getStageDone SE13 35 == 1 && dying == 0- edit it to:if ( getStageDone SE13 35 == 1 ) && ( dying == 0 ) && ( Player.HasSpell zzSMSE14ActivateObelisk == 0 )Create the quest:Name: SEObelisksAfterSE13Icon: Quests\iconSEMisc.ddsPriority: 5Start Game Enabled: YesScript: scn zzSMSEObelisksQuestSCRIPT ; This script is for "to recharge" the Obelisks of Order, making them ready to be activated using the ; zzSMSE14ActivateObelisk spell short SE13Obelisk1RechargeDay float SE13Obelisk1RechargeTime short SE13Obelisk2RechargeDay float SE13Obelisk2RechargeTime short SEObelisk01RechargeDay float SEObelisk01RechargeTime short SEObelisk02RechargeDay float SEObelisk02RechargeTime short SEObelisk03RechargeDay float SEObelisk03RechargeTime short SEObelisk04RechargeDay float SEObelisk04RechargeTime short SEObelisk05RechargeDay float SEObelisk05RechargeTime short SEObelisk06RechargeDay float SEObelisk06RechargeTime short SEObelisk07RechargeDay float SEObelisk07RechargeTime short SEObelisk08RechargeDay float SEObelisk08RechargeTime short SEObelisk09RechargeDay float SEObelisk09RechargeTime short SEObelisk10RechargeDay float SEObelisk10RechargeTime short SEObelisk11RechargeDay float SEObelisk11RechargeTime short SEObelisk12RechargeDay float SEObelisk12RechargeTime short SEObelisk13RechargeDay float SEObelisk13RechargeTime short SEObelisk14RechargeDay float SEObelisk14RechargeTime short SEObelisk15RechargeDay float SEObelisk15RechargeTime short SEObelisk16RechargeDay float SEObelisk16RechargeTime short SEObelisk17RechargeDay float SEObelisk17RechargeTime short SEObelisk18RechargeDay float SEObelisk18RechargeTime short SEObelisk19RechargeDay float SEObelisk19RechargeTime short SEObelisk20RechargeDay float SEObelisk20RechargeTime ref ItsCrystalChest array_var ItemsAnew short i short ItemsTotal ref ItemToAdd Begin GameMode if ( GetStageDone SE13 200 == 1 ) if ( SE13Obelisk1Ref.deactivated == 1 ) && ( SE13Obelisk1Ref.heartCount >= SEObeliskMaxHearts ) && ( SE13Obelisk1RechargeDay == 0 ) set SE13Obelisk1RechargeDay to GameDaysPassed + 7 set SE13Obelisk1RechargeTime to gamehour endif if ( SE13Obelisk2Ref.deactivated == 1 ) && ( SE13Obelisk2Ref.heartCount >= SEObeliskMaxHearts ) && ( SE13Obelisk2RechargeDay == 0 ) set SE13Obelisk2RechargeDay to GameDaysPassed + 7 set SE13Obelisk2RechargeTime to gamehour endif if ( SEObelisk01.deactivated == 1 ) && ( SEObelisk01.heartCount >= SEObeliskMaxHearts ) && ( SEObelisk01RechargeDay == 0 ) set SEObelisk01RechargeDay to GameDaysPassed + 7 set SEObelisk01RechargeTime to gamehour endif if ( SEObelisk02.deactivated == 1 ) && ( SEObelisk02.heartCount >= SEObeliskMaxHearts ) && ( SEObelisk02RechargeDay == 0 ) set SEObelisk02RechargeDay to GameDaysPassed + 7 set SEObelisk02RechargeTime to gamehour endif if ( SEObelisk03.deactivated == 1 ) && ( SEObelisk03.heartCount >= SEObeliskMaxHearts ) && ( SEObelisk03RechargeDay == 0 ) set SEObelisk03RechargeDay to GameDaysPassed + 7 set SEObelisk03RechargeTime to gamehour endif if ( SEObelisk04.deactivated == 1 ) && ( SEObelisk04.heartCount >= SEObeliskMaxHearts ) && ( SEObelisk04RechargeDay == 0 ) set SEObelisk04RechargeDay to GameDaysPassed + 7 set SEObelisk04RechargeTime to gamehour endif if ( SEObelisk05.deactivated == 1 ) && ( SEObelisk05.heartCount >= SEObeliskMaxHearts ) && ( SEObelisk05RechargeDay == 0 ) set SEObelisk05RechargeDay to GameDaysPassed + 7 set SEObelisk05RechargeTime to gamehour endif if ( SEObelisk06.deactivated == 1 ) && ( SEObelisk06.heartCount >= SEObeliskMaxHearts ) && ( SEObelisk06RechargeDay == 0 ) set SEObelisk06RechargeDay to GameDaysPassed + 7 set SEObelisk06RechargeTime to gamehour endif if ( SEObelisk07.deactivated == 1 ) && ( SEObelisk07.heartCount >= SEObeliskMaxHearts ) && ( SEObelisk07RechargeDay == 0 ) set SEObelisk07RechargeDay to GameDaysPassed + 7 set SEObelisk07RechargeTime to gamehour endif if ( SEObelisk08.deactivated == 1 ) && ( SEObelisk08.heartCount >= SEObeliskMaxHearts ) && ( SEObelisk08RechargeDay == 0 ) set SEObelisk08RechargeDay to GameDaysPassed + 7 set SEObelisk08RechargeTime to gamehour endif if ( SEObelisk09.deactivated == 1 ) && ( SEObelisk09.heartCount >= SEObeliskMaxHearts ) && ( SEObelisk09RechargeDay == 0 ) set SEObelisk09RechargeDay to GameDaysPassed + 7 set SEObelisk09RechargeTime to gamehour endif if ( SEObelisk10.deactivated == 1 ) && ( SEObelisk10.heartCount >= SEObeliskMaxHearts ) && ( SEObelisk10RechargeDay == 0 ) set SEObelisk10RechargeDay to GameDaysPassed + 7 set SEObelisk10RechargeTime to gamehour endif if ( SEObelisk11.deactivated == 1 ) && ( SEObelisk11.heartCount >= SEObeliskMaxHearts ) && ( SEObelisk11RechargeDay == 0 ) set SEObelisk11RechargeDay to GameDaysPassed + 7 set SEObelisk11RechargeTime to gamehour endif if ( SEObelisk12.deactivated == 1 ) && ( SEObelisk12.heartCount >= SEObeliskMaxHearts ) && ( SEObelisk12RechargeDay == 0 ) set SEObelisk12RechargeDay to GameDaysPassed + 7 set SEObelisk12RechargeTime to gamehour endif if ( SEObelisk13.deactivated == 1 ) && ( SEObelisk13.heartCount >= SEObeliskMaxHearts ) && ( SEObelisk13RechargeDay == 0 ) set SEObelisk13RechargeDay to GameDaysPassed + 7 set SEObelisk13RechargeTime to gamehour endif if ( SEObelisk14.deactivated == 1 ) && ( SEObelisk14.heartCount >= SEObeliskMaxHearts ) && ( SEObelisk14RechargeDay == 0 ) set SEObelisk14RechargeDay to GameDaysPassed + 7 set SEObelisk14RechargeTime to gamehour endif if ( SEObelisk15.deactivated == 1 ) && ( SEObelisk15.heartCount >= SEObeliskMaxHearts ) && ( SEObelisk15RechargeDay == 0 ) set SEObelisk15RechargeDay to GameDaysPassed + 7 set SEObelisk15RechargeTime to gamehour endif if ( SEObelisk16.deactivated == 1 ) && ( SEObelisk16.heartCount >= SEObeliskMaxHearts ) && ( SEObelisk16RechargeDay == 0 ) set SEObelisk16RechargeDay to GameDaysPassed + 7 set SEObelisk16RechargeTime to gamehour endif if ( SEObelisk17.deactivated == 1 ) && ( SEObelisk17.heartCount >= SEObeliskMaxHearts ) && ( SEObelisk17RechargeDay == 0 ) set SEObelisk17RechargeDay to GameDaysPassed + 7 set SEObelisk17RechargeTime to gamehour endif if ( SEObelisk18.deactivated == 1 ) && ( SEObelisk18.heartCount >= SEObeliskMaxHearts ) && ( SEObelisk18RechargeDay == 0 ) set SEObelisk18RechargeDay to GameDaysPassed + 7 set SEObelisk18RechargeTime to gamehour endif if ( SEObelisk19.deactivated == 1 ) && ( SEObelisk19.heartCount >= SEObeliskMaxHearts ) && ( SEObelisk19RechargeDay == 0 ) set SEObelisk19RechargeDay to GameDaysPassed + 7 set SEObelisk19RechargeTime to gamehour endif if ( SEObelisk20.deactivated == 1 ) && ( SEObelisk20.heartCount >= SEObeliskMaxHearts ) && ( SEObelisk20RechargeDay == 0 ) set SEObelisk20RechargeDay to GameDaysPassed + 7 set SEObelisk20RechargeTime to gamehour endif if (( GameDaysPassed >= SE13Obelisk1RechargeDay ) && ( gamehour >= SE13Obelisk1RechargeTime ) || ( GameDaysPassed > SE13Obelisk1RechargeDay )) && ( SE13Obelisk1RechargeDay != 0 ) set SE13Obelisk1RechargeDay to 0 set SE13Obelisk1RechargeTime to 0 set SE13Obelisk1Ref.heartCount to 0 if ( SE13Obelisk1Ref.GetDestroyed == 0 ) set SE13Obelisk1Ref.active to 0 endif let ItsCrystalChest := SE13Obelisk1Ref.GetParentRef if ( ItsCrystalChest.GetNumItems > 0 ) ItsCrystalChest.RemoveAllItems endif let ItemsAnew := ItsCrystalChest.GetBaseItems let ItemsTotal := ar_Size ItemsAnew While ( i < ItemsTotal ) let ItemToAdd := ItemsAnew[i][item] ItsCrystalChest.AddItem ItemToAdd 1 set i to i + 1 loop set i to 0 endif if (( GameDaysPassed >= SE13Obelisk2RechargeDay ) && ( gamehour >= SE13Obelisk2RechargeTime ) || ( GameDaysPassed > SE13Obelisk2RechargeDay )) && ( SE13Obelisk2RechargeDay != 0 ) set SE13Obelisk2RechargeDay to 0 set SE13Obelisk2RechargeTime to 0 set SE13Obelisk2Ref.heartCount to 0 if ( SE13Obelisk2Ref.GetDestroyed == 0 ) set SE13Obelisk2Ref.active to 0 endif let ItsCrystalChest := SE13Obelisk2Ref.GetParentRef if ( ItsCrystalChest.GetNumItems > 0 ) ItsCrystalChest.RemoveAllItems endif let ItemsAnew := ItsCrystalChest.GetBaseItems let ItemsTotal := ar_Size ItemsAnew While ( i < ItemsTotal ) let ItemToAdd := ItemsAnew[i][item] ItsCrystalChest.AddItem ItemToAdd 1 set i to i + 1 loop set i to 0 endif if (( GameDaysPassed >= SEObelisk01RechargeDay ) && ( gamehour >= SEObelisk01RechargeTime ) || ( GameDaysPassed > SEObelisk01RechargeDay )) && ( SEObelisk01RechargeDay != 0 ) set SEObelisk01RechargeDay to 0 set SEObelisk01RechargeTime to 0 set SEObelisk01.heartCount to 0 if ( SEObelisk01.GetDestroyed == 0 ) set SEObelisk01.active to 0 endif let ItsCrystalChest := SEObelisk01.GetParentRef if ( ItsCrystalChest.GetNumItems > 0 ) ItsCrystalChest.RemoveAllItems endif let ItemsAnew := ItsCrystalChest.GetBaseItems let ItemsTotal := ar_Size ItemsAnew While ( i < ItemsTotal ) let ItemToAdd := ItemsAnew[i][item] ItsCrystalChest.AddItem ItemToAdd 1 set i to i + 1 loop set i to 0 endif if (( GameDaysPassed >= SEObelisk02RechargeDay ) && ( gamehour >= SEObelisk02RechargeTime ) || ( GameDaysPassed > SEObelisk02RechargeDay )) && ( SEObelisk02RechargeDay != 0 ) set SEObelisk02RechargeDay to 0 set SEObelisk02RechargeTime to 0 set SEObelisk02.heartCount to 0 if ( SEObelisk02.GetDestroyed == 0 ) set SEObelisk02.active to 0 endif let ItsCrystalChest := SEObelisk02.GetParentRef if ( ItsCrystalChest.GetNumItems > 0 ) ItsCrystalChest.RemoveAllItems endif let ItemsAnew := ItsCrystalChest.GetBaseItems let ItemsTotal := ar_Size ItemsAnew While ( i < ItemsTotal ) let ItemToAdd := ItemsAnew[i][item] ItsCrystalChest.AddItem ItemToAdd 1 set i to i + 1 loop set i to 0 endif if (( GameDaysPassed >= SEObelisk03RechargeDay ) && ( gamehour >= SEObelisk03RechargeTime ) || ( GameDaysPassed > SEObelisk03RechargeDay )) && ( SEObelisk03RechargeDay != 0 ) set SEObelisk03RechargeDay to 0 set SEObelisk03RechargeTime to 0 set SEObelisk03.heartCount to 0 if ( SEObelisk03.GetDestroyed == 0 ) set SEObelisk03.active to 0 endif let ItsCrystalChest := SEObelisk03.GetParentRef if ( ItsCrystalChest.GetNumItems > 0 ) ItsCrystalChest.RemoveAllItems endif let ItemsAnew := ItsCrystalChest.GetBaseItems let ItemsTotal := ar_Size ItemsAnew While ( i < ItemsTotal ) let ItemToAdd := ItemsAnew[i][item] ItsCrystalChest.AddItem ItemToAdd 1 set i to i + 1 loop set i to 0 endif if (( GameDaysPassed >= SEObelisk04RechargeDay ) && ( gamehour >= SEObelisk04RechargeTime ) || ( GameDaysPassed > SEObelisk04RechargeDay )) && ( SEObelisk04RechargeDay != 0 ) set SEObelisk04RechargeDay to 0 set SEObelisk04RechargeTime to 0 set SEObelisk04.heartCount to 0 if ( SEObelisk04.GetDestroyed == 0 ) set SEObelisk04.active to 0 endif let ItsCrystalChest := SEObelisk04.GetParentRef if ( ItsCrystalChest.GetNumItems > 0 ) ItsCrystalChest.RemoveAllItems endif let ItemsAnew := ItsCrystalChest.GetBaseItems let ItemsTotal := ar_Size ItemsAnew While ( i < ItemsTotal ) let ItemToAdd := ItemsAnew[i][item] ItsCrystalChest.AddItem ItemToAdd 1 set i to i + 1 loop set i to 0 endif if (( GameDaysPassed >= SEObelisk05RechargeDay ) && ( gamehour >= SEObelisk05RechargeTime ) || ( GameDaysPassed > SEObelisk05RechargeDay )) && ( SEObelisk05RechargeDay != 0 ) set SEObelisk05RechargeDay to 0 set SEObelisk05RechargeTime to 0 set SEObelisk05.heartCount to 0 if ( SEObelisk05.GetDestroyed == 0 ) set SEObelisk05.active to 0 endif let ItsCrystalChest := SEObelisk05.GetParentRef if ( ItsCrystalChest.GetNumItems > 0 ) ItsCrystalChest.RemoveAllItems endif let ItemsAnew := ItsCrystalChest.GetBaseItems let ItemsTotal := ar_Size ItemsAnew While ( i < ItemsTotal ) let ItemToAdd := ItemsAnew[i][item] ItsCrystalChest.AddItem ItemToAdd 1 set i to i + 1 loop set i to 0 endif if (( GameDaysPassed >= SEObelisk06RechargeDay ) && ( gamehour >= SEObelisk06RechargeTime ) || ( GameDaysPassed > SEObelisk06RechargeDay )) && ( SEObelisk06RechargeDay != 0 ) set SEObelisk06RechargeDay to 0 set SEObelisk06RechargeTime to 0 set SEObelisk06.heartCount to 0 if ( SEObelisk06.GetDestroyed == 0 ) set SEObelisk06.active to 0 endif let ItsCrystalChest := SEObelisk06.GetParentRef if ( ItsCrystalChest.GetNumItems > 0 ) ItsCrystalChest.RemoveAllItems endif let ItemsAnew := ItsCrystalChest.GetBaseItems let ItemsTotal := ar_Size ItemsAnew While ( i < ItemsTotal ) let ItemToAdd := ItemsAnew[i][item] ItsCrystalChest.AddItem ItemToAdd 1 set i to i + 1 loop set i to 0 endif if (( GameDaysPassed >= SEObelisk07RechargeDay ) && ( gamehour >= SEObelisk07RechargeTime ) || ( GameDaysPassed > SEObelisk07RechargeDay )) && ( SEObelisk07RechargeDay != 0 ) set SEObelisk07RechargeDay to 0 set SEObelisk07RechargeTime to 0 set SEObelisk07.heartCount to 0 if ( SEObelisk07.GetDestroyed == 0 ) set SEObelisk07.active to 0 endif let ItsCrystalChest := SEObelisk07.GetParentRef if ( ItsCrystalChest.GetNumItems > 0 ) ItsCrystalChest.RemoveAllItems endif let ItemsAnew := ItsCrystalChest.GetBaseItems let ItemsTotal := ar_Size ItemsAnew While ( i < ItemsTotal ) let ItemToAdd := ItemsAnew[i][item] ItsCrystalChest.AddItem ItemToAdd 1 set i to i + 1 loop set i to 0 endif if (( GameDaysPassed >= SEObelisk08RechargeDay ) && ( gamehour >= SEObelisk08RechargeTime ) || ( GameDaysPassed > SEObelisk08RechargeDay )) && ( SEObelisk08RechargeDay != 0 ) set SEObelisk08RechargeDay to 0 set SEObelisk08RechargeTime to 0 set SEObelisk08.heartCount to 0 if ( SEObelisk08.GetDestroyed == 0 ) set SEObelisk08.active to 0 endif let ItsCrystalChest := SEObelisk08.GetParentRef if ( ItsCrystalChest.GetNumItems > 0 ) ItsCrystalChest.RemoveAllItems endif let ItemsAnew := ItsCrystalChest.GetBaseItems let ItemsTotal := ar_Size ItemsAnew While ( i < ItemsTotal ) let ItemToAdd := ItemsAnew[i][item] ItsCrystalChest.AddItem ItemToAdd 1 set i to i + 1 loop set i to 0 endif if (( GameDaysPassed >= SEObelisk09RechargeDay ) && ( gamehour >= SEObelisk09RechargeTime ) || ( GameDaysPassed > SEObelisk09RechargeDay )) && ( SEObelisk09RechargeDay != 0 ) set SEObelisk09RechargeDay to 0 set SEObelisk09RechargeTime to 0 set SEObelisk09.heartCount to 0 if ( SEObelisk09.GetDestroyed == 0 ) set SEObelisk09.active to 0 endif let ItsCrystalChest := SEObelisk09.GetParentRef if ( ItsCrystalChest.GetNumItems > 0 ) ItsCrystalChest.RemoveAllItems endif let ItemsAnew := ItsCrystalChest.GetBaseItems let ItemsTotal := ar_Size ItemsAnew While ( i < ItemsTotal ) let ItemToAdd := ItemsAnew[i][item] ItsCrystalChest.AddItem ItemToAdd 1 set i to i + 1 loop set i to 0 endif if (( GameDaysPassed >= SEObelisk10RechargeDay ) && ( gamehour >= SEObelisk10RechargeTime ) || ( GameDaysPassed > SEObelisk10RechargeDay )) && ( SEObelisk10RechargeDay != 0 ) set SEObelisk10RechargeDay to 0 set SEObelisk10RechargeTime to 0 set SEObelisk10.heartCount to 0 if ( SEObelisk10.GetDestroyed == 0 ) set SEObelisk10.active to 0 endif let ItsCrystalChest := SEObelisk10.GetParentRef if ( ItsCrystalChest.GetNumItems > 0 ) ItsCrystalChest.RemoveAllItems endif let ItemsAnew := ItsCrystalChest.GetBaseItems let ItemsTotal := ar_Size ItemsAnew While ( i < ItemsTotal ) let ItemToAdd := ItemsAnew[i][item] ItsCrystalChest.AddItem ItemToAdd 1 set i to i + 1 loop set i to 0 endif if (( GameDaysPassed >= SEObelisk11RechargeDay ) && ( gamehour >= SEObelisk11RechargeTime ) || ( GameDaysPassed > SEObelisk11RechargeDay )) && ( SEObelisk11RechargeDay != 0 ) set SEObelisk11RechargeDay to 0 set SEObelisk11RechargeTime to 0 set SEObelisk11.heartCount to 0 if ( SEObelisk11.GetDestroyed == 0 ) set SEObelisk11.active to 0 endif let ItsCrystalChest := SEObelisk11.GetParentRef if ( ItsCrystalChest.GetNumItems > 0 ) ItsCrystalChest.RemoveAllItems endif let ItemsAnew := ItsCrystalChest.GetBaseItems let ItemsTotal := ar_Size ItemsAnew While ( i < ItemsTotal ) let ItemToAdd := ItemsAnew[i][item] ItsCrystalChest.AddItem ItemToAdd 1 set i to i + 1 loop set i to 0 endif if (( GameDaysPassed >= SEObelisk12RechargeDay ) && ( gamehour >= SEObelisk12RechargeTime ) || ( GameDaysPassed > SEObelisk12RechargeDay )) && ( SEObelisk12RechargeDay != 0 ) set SEObelisk12RechargeDay to 0 set SEObelisk12RechargeTime to 0 set SEObelisk12.heartCount to 0 if ( SEObelisk12.GetDestroyed == 0 ) set SEObelisk12.active to 0 endif let ItsCrystalChest := SEObelisk12.GetParentRef if ( ItsCrystalChest.GetNumItems > 0 ) ItsCrystalChest.RemoveAllItems endif let ItemsAnew := ItsCrystalChest.GetBaseItems let ItemsTotal := ar_Size ItemsAnew While ( i < ItemsTotal ) let ItemToAdd := ItemsAnew[i][item] ItsCrystalChest.AddItem ItemToAdd 1 set i to i + 1 loop set i to 0 endif if (( GameDaysPassed >= SEObelisk13RechargeDay ) && ( gamehour >= SEObelisk13RechargeTime ) || ( GameDaysPassed > SEObelisk13RechargeDay )) && ( SEObelisk13RechargeDay != 0 ) set SEObelisk13RechargeDay to 0 set SEObelisk13RechargeTime to 0 set SEObelisk13.heartCount to 0 if ( SEObelisk13.GetDestroyed == 0 ) set SEObelisk13.active to 0 endif let ItsCrystalChest := SEObelisk13.GetParentRef if ( ItsCrystalChest.GetNumItems > 0 ) ItsCrystalChest.RemoveAllItems endif let ItemsAnew := ItsCrystalChest.GetBaseItems let ItemsTotal := ar_Size ItemsAnew While ( i < ItemsTotal ) let ItemToAdd := ItemsAnew[i][item] ItsCrystalChest.AddItem ItemToAdd 1 set i to i + 1 loop set i to 0 endif if (( GameDaysPassed >= SEObelisk14RechargeDay ) && ( gamehour >= SEObelisk14RechargeTime ) || ( GameDaysPassed > SEObelisk14RechargeDay )) && ( SEObelisk14RechargeDay != 0 ) set SEObelisk14RechargeDay to 0 set SEObelisk14RechargeTime to 0 set SEObelisk14.heartCount to 0 if ( SEObelisk14.GetDestroyed == 0 ) set SEObelisk14.active to 0 endif let ItsCrystalChest := SEObelisk14.GetParentRef if ( ItsCrystalChest.GetNumItems > 0 ) ItsCrystalChest.RemoveAllItems endif let ItemsAnew := ItsCrystalChest.GetBaseItems let ItemsTotal := ar_Size ItemsAnew While ( i < ItemsTotal ) let ItemToAdd := ItemsAnew[i][item] ItsCrystalChest.AddItem ItemToAdd 1 set i to i + 1 loop set i to 0 endif if (( GameDaysPassed >= SEObelisk15RechargeDay ) && ( gamehour >= SEObelisk15RechargeTime ) || ( GameDaysPassed > SEObelisk15RechargeDay )) && ( SEObelisk15RechargeDay != 0 ) set SEObelisk15RechargeDay to 0 set SEObelisk15RechargeTime to 0 set SEObelisk15.heartCount to 0 if ( SEObelisk15.GetDestroyed == 0 ) set SEObelisk15.active to 0 endif let ItsCrystalChest := SEObelisk15.GetParentRef if ( ItsCrystalChest.GetNumItems > 0 ) ItsCrystalChest.RemoveAllItems endif let ItemsAnew := ItsCrystalChest.GetBaseItems let ItemsTotal := ar_Size ItemsAnew While ( i < ItemsTotal ) let ItemToAdd := ItemsAnew[i][item] ItsCrystalChest.AddItem ItemToAdd 1 set i to i + 1 loop set i to 0 endif if (( GameDaysPassed >= SEObelisk16RechargeDay ) && ( gamehour >= SEObelisk16RechargeTime ) || ( GameDaysPassed > SEObelisk16RechargeDay )) && ( SEObelisk16RechargeDay != 0 ) set SEObelisk16RechargeDay to 0 set SEObelisk16RechargeTime to 0 set SEObelisk16.heartCount to 0 if ( SEObelisk16.GetDestroyed == 0 ) set SEObelisk16.active to 0 endif let ItsCrystalChest := SEObelisk16.GetParentRef if ( ItsCrystalChest.GetNumItems > 0 ) ItsCrystalChest.RemoveAllItems endif let ItemsAnew := ItsCrystalChest.GetBaseItems let ItemsTotal := ar_Size ItemsAnew While ( i < ItemsTotal ) let ItemToAdd := ItemsAnew[i][item] ItsCrystalChest.AddItem ItemToAdd 1 set i to i + 1 loop set i to 0 endif if (( GameDaysPassed >= SEObelisk17RechargeDay ) && ( gamehour >= SEObelisk17RechargeTime ) || ( GameDaysPassed > SEObelisk17RechargeDay )) && ( SEObelisk17RechargeDay != 0 ) set SEObelisk17RechargeDay to 0 set SEObelisk17RechargeTime to 0 set SEObelisk17.heartCount to 0 if ( SEObelisk17.GetDestroyed == 0 ) set SEObelisk17.active to 0 endif let ItsCrystalChest := SEObelisk17.GetParentRef if ( ItsCrystalChest.GetNumItems > 0 ) ItsCrystalChest.RemoveAllItems endif let ItemsAnew := ItsCrystalChest.GetBaseItems let ItemsTotal := ar_Size ItemsAnew While ( i < ItemsTotal ) let ItemToAdd := ItemsAnew[i][item] ItsCrystalChest.AddItem ItemToAdd 1 set i to i + 1 loop set i to 0 endif if (( GameDaysPassed >= SEObelisk18RechargeDay ) && ( gamehour >= SEObelisk18RechargeTime ) || ( GameDaysPassed > SEObelisk18RechargeDay )) && ( SEObelisk18RechargeDay != 0 ) set SEObelisk18RechargeDay to 0 set SEObelisk18RechargeTime to 0 set SEObelisk18.heartCount to 0 if ( SEObelisk18.GetDestroyed == 0 ) set SEObelisk18.active to 0 endif let ItsCrystalChest := SEObelisk18.GetParentRef if ( ItsCrystalChest.GetNumItems > 0 ) ItsCrystalChest.RemoveAllItems endif let ItemsAnew := ItsCrystalChest.GetBaseItems let ItemsTotal := ar_Size ItemsAnew While ( i < ItemsTotal ) let ItemToAdd := ItemsAnew[i][item] ItsCrystalChest.AddItem ItemToAdd 1 set i to i + 1 loop set i to 0 endif if (( GameDaysPassed >= SEObelisk19RechargeDay ) && ( gamehour >= SEObelisk19RechargeTime ) || ( GameDaysPassed > SEObelisk19RechargeDay )) && ( SEObelisk19RechargeDay != 0 ) set SEObelisk19RechargeDay to 0 set SEObelisk19RechargeTime to 0 set SEObelisk19.heartCount to 0 if ( SEObelisk19.GetDestroyed == 0 ) set SEObelisk19.active to 0 endif let ItsCrystalChest := SEObelisk19.GetParentRef if ( ItsCrystalChest.GetNumItems > 0 ) ItsCrystalChest.RemoveAllItems endif let ItemsAnew := ItsCrystalChest.GetBaseItems let ItemsTotal := ar_Size ItemsAnew While ( i < ItemsTotal ) let ItemToAdd := ItemsAnew[i][item] ItsCrystalChest.AddItem ItemToAdd 1 set i to i + 1 loop set i to 0 endif if (( GameDaysPassed >= SEObelisk20RechargeDay ) && ( gamehour >= SEObelisk20RechargeTime ) || ( GameDaysPassed > SEObelisk20RechargeDay )) && ( SEObelisk20RechargeDay != 0 ) set SEObelisk20RechargeDay to 0 set SEObelisk20RechargeTime to 0 set SEObelisk20.heartCount to 0 if ( SEObelisk20.GetDestroyed == 0 ) set SEObelisk20.active to 0 endif let ItsCrystalChest := SEObelisk20.GetParentRef if ( ItsCrystalChest.GetNumItems > 0 ) ItsCrystalChest.RemoveAllItems endif let ItemsAnew := ItsCrystalChest.GetBaseItems let ItemsTotal := ar_Size ItemsAnew While ( i < ItemsTotal ) let ItemToAdd := ItemsAnew[i][item] ItsCrystalChest.AddItem ItemToAdd 1 set i to i + 1 loop set i to 0 endif if ( ItemToAdd != 0 ) let ItemToAdd := 0 endif if ( ItsCrystalChest != 0 ) let ItsCrystalChest := 0 endif endif End With those changes you will be able to let the Sheogorath Palace guards to have some fun minutes again, almost like in good old SE13 quest walkthrough times they are witnesses of :D Edited May 21, 2021 by Stealth21 Link to comment Share on other sites More sharing options...
Recommended Posts