Jump to content

The rise the obelisk of Order spell after "The End of Order"


Stealth21

Recommended Posts

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 Echo
Type: Lesser Power
Script Effect Always Applies
Immune to Silence
Spell Level: Novice
Spell Cost: 0

Effect: Script Effect
Range: Touch (can be applied on the activator even if it's Destroyed flag is set to 1)
Area/Duration: 0
Script: {The code above}
Effect name: Rise the obelisk
School: Conjuration
Visual Effect: Summon Wabba
Effect is Hostile: No



Who is that NPC who is giving it: Haskill (SeHaskill)
When he is givinig it: edit his SE14Benefits dialogue topic - add
Player.AddSpell IDOfthatSpell
to 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

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 flag

1a. and the chest updates it's loot

1b. 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 flag

2a/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 stopped

3a/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

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 by Stealth21
Link to comment
Share on other sites

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

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

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

  • 4 weeks later...

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: SEObelisksAfterSE13
Icon: Quests\iconSEMisc.dds
Priority: 5
Start Game Enabled: Yes
Script:

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 by Stealth21
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...