Debugging Summoning Circle Activator

Post » Mon Mar 03, 2014 6:34 am

During my quest to track the bugs in the latest version of Uvirith's Legacy to make it easier for Stuporstar to fix them, I ran into an issue regarding the summoing floor.

There are two summoning circles that I've found so far: one in the player's secret lab, and the other in a tomb beneath the tower. The way the circles work is that the player receives an increase in conjuration skill and magicka when he steps in the circle, and loses them when he steps out. A message is produced when the player does each of those actions for the first time. The circle in the secret lab works as intended. The one in the tomb however causes a variety of problems. First, the game lags like hell when the player is standing in the circle (although the message saying "your connection to oblivion goes stronger" appears), and second, the powers you gain never go away, even when you leave the cell where the circle is located. Nor does the player receive the message about the connection to oblivion fading.

The summoning circles have the same script attached to them and, curiously,the same object id as well. I'm not sure whether this is the cause of the problem or not. The script attached to each one is below. If it helps, I used the summoning floor in the secret lab long before I ever discovered the one in the tomb.

Begin Uvi_ConjCircle_ScriptShort MessageOnceIf ( GetStandingPC )	If ( MessageOnce == 0 )		MessageBox "As you step into the circle and read its sigils, your connection to Oblivion grows stronger."		Set MessageOnce to 1	Endif	If ( Player->GetSpell uvi_conjcircle == 0 )		Player->AddSpell uvi_conjcircle	Endif	If ( ScriptRunning Uvi_ConjCircle_Global == 0 )		StartScript Uvi_ConjCircle_Global	EndifElseif ( Player->GetSpell uvi_conjcircle > 0 )	If ( MessageOnce == 1 )		MessageBox "As you leave the circle, your connection to Oblivion weakens."		Set MessageOnce to -1	Endif	Player->RemoveSpell uvi_conjcircle	If ( ScriptRunning Uvi_ConjCircle_Global )		StopScript Uvi_ConjCircle_Global	EndifEndifEnd

Interestingly, if I leave the tomb after getting the abilities stuck on me from the summoning circle, go back to the summoning circle in the lab (which works properly), and THEN step out of that one, the skill and magicka bonuses properly disappear. In other words, for whatever reason the the part of the script that removes the abilities only seems to be triggered when I step out of the circle in the lab, and not the circle in the tomb.

I'm guessing the problem is that some variable in whichever circle the player steps in first gets stuck somehow, preventing the script from working properly in future circles? If so, is there a fix? or would new scripts have to be created for the other circles? Thanks!

User avatar
sexy zara
 
Posts: 3268
Joined: Wed Nov 01, 2006 7:53 am

Return to III - Morrowind