<NME> ShrineLava.cs
<BEF> ﻿using UnityEngine;
using System.Collections;
using UnityStandardAssets.ImageEffects;

/// <summary>
/// Special move trigger to handle throwing objects into the lava in the Shrine.
/// </summary>
public class ShrineLava : UWEBase {

		void OnTriggerEnter(Collider other)
		{
				if (other.gameObject.GetComponent<ObjectInteraction>()!=null)
        if (other.gameObject.GetComponent<ObjectInteraction>() != null)
						ObjectInteraction objInt = other.gameObject.GetComponent<ObjectInteraction>();
						switch (objInt.item_id)
						{
						case Quest.TalismanBanner:
								GameWorldController.instance.playerUW.quest().TalismansCastIntoAbyss[0]=true;break;
						case Quest.TalismanBook:								
								GameWorldController.instance.playerUW.quest().TalismansCastIntoAbyss[1]=true;break;
            {
                case Quest.TalismanHonour:
                case Quest.TalismanBook:
                case Quest.TalismanCup:
                case Quest.TalismanRing:
                case Quest.TalismanShield:
                case Quest.TalismanSword:
                case Quest.TalismanTaper:
                case Quest.TalismanTaperLit:
                case Quest.TalismanWine:
                    Quest.instance.TalismansRemaining--;
                    break;
                default:
                    return;
            }

            Impact.SpawnHitImpact(Impact.ImpactMagic(), objInt.GetImpactPoint(), 40, 44);


            objInt.consumeObject();

            //Suck the avatar into the ethereal void.
            if (Quest.instance.TalismansRemaining <= 0)
            {
                StartCoroutine(SuckItAvatar());
            }
        }
    }

    /// <summary>
    /// Sends the avatar into the ethereal void.
    /// </summary>
    /// Spins the avatar and the slasher (specific object name) towards a newly spawned moongate.
    IEnumerator SuckItAvatar()
    {

        ObjectInteraction slasher = CurrentObjectList().objInfo[129].instance;//Assumes slasher will be at this index.
        Vector3 slasherPos = Vector3.zero;
        if (slasher != null)
        {
            slasherPos = slasher.transform.position;
        }

        //Spawn a moon gate at the center of the lava
        ObjectLoaderInfo newobjt = ObjectLoader.newWorldObject(346, 0, 0, 0, 256);
        GameObject myObj = ObjectInteraction.CreateNewObject(CurrentTileMap(),
            newobjt,
            CurrentObjectList().objInfo,
            GameWorldController.instance.DynamicObjectMarker().gameObject,
            GameWorldController.instance.InventoryMarker.transform.position).gameObject;
        GameWorldController.MoveToWorld(myObj.GetComponent<ObjectInteraction>());
        myObj.transform.localPosition = this.transform.position + new Vector3(0.0f, 0.5f, 0.0f);

        //Suck the player and the slasher into the moon gate.
        Quaternion playerRot = UWCharacter.Instance.transform.rotation;
        Quaternion EndRot = new Quaternion(playerRot.x, playerRot.y, playerRot.z + 1.2f, playerRot.w);
		/// <summary>
		/// Sends the avatar into the ethereal void.
		/// </summary>
		IEnumerator SuckItAvatar()
		{
				//Spawn a moon gate at the center of the lava
            UWCharacter.Instance.transform.rotation = Quaternion.Lerp(playerRot, EndRot, index);
            if (slasher != null)
            {
                slasher.transform.position = Vector3.Lerp(slasherPos, EndPos, index);
            }
            index += rate * Time.deltaTime;
            yield return new WaitForSeconds(0.01f);
        }
        UWCharacter.Instance.transform.rotation = playerRot;
        GameWorldController.instance.SwitchLevel(8, 26, 24);//One way trip.
    }
}

<MSG> Fixed shrine not giving unable to advance message.
Panels will become enabled halfway through the rotation 
Container will now test for slot capacity when objects are added to it.
Some code documentation and cleanup
<DFF> @@ -7,6 +7,10 @@ using UnityStandardAssets.ImageEffects;
 /// </summary>
 public class ShrineLava : UWEBase {
 
+		/// <summary>
+		/// Detects if a talisman has been thrown into the abyss lava trigger.
+		/// </summary>
+		/// <param name="other">Other.</param>
 		void OnTriggerEnter(Collider other)
 		{
 				if (other.gameObject.GetComponent<ObjectInteraction>()!=null)
@@ -14,7 +18,7 @@ public class ShrineLava : UWEBase {
 						ObjectInteraction objInt = other.gameObject.GetComponent<ObjectInteraction>();
 						switch (objInt.item_id)
 						{
-						case Quest.TalismanBanner:
+						case Quest.TalismanHonour:
 								GameWorldController.instance.playerUW.quest().TalismansCastIntoAbyss[0]=true;break;
 						case Quest.TalismanBook:								
 								GameWorldController.instance.playerUW.quest().TalismansCastIntoAbyss[1]=true;break;
@@ -77,6 +81,7 @@ public class ShrineLava : UWEBase {
 		/// <summary>
 		/// Sends the avatar into the ethereal void.
 		/// </summary>
+		/// Spins the avatar and the slasher (specific object name) towards a newly spawned moongate.
 		IEnumerator SuckItAvatar()
 		{
 				//Spawn a moon gate at the center of the lava

Fixed shrine not giving unable to advance message. Panels will become enabled halfway through the rotation  Container will now test for slot capacity when objects are added to it. Some code documentation and cleanup