<NME> HealthFlask.cs
<BEF> ﻿using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class HealthFlask : GuiBase_Draggable {
	/*The health, mana and poisoned state indicators*/
	public RawImage[] LevelImages=new RawImage[13];
	public float Level;
	public float MaxLevel;
	public float FlaskLevel;

	private float PreviousLevel;
	private float PreviousMaxLevel;

	public bool isHealthDisplay;
    //private bool Poisoned;

	public override void Start ()
	{
		for (int i=0; i<=LevelImages.GetUpperBound(0);i++)
		{
			if (isHealthDisplay)
			{
				LevelImages[i].texture=GameWorldController.instance.grFlasks.LoadImageAt(i);					
			}
			else
			{
				LevelImages[i].texture=GameWorldController.instance.grFlasks.LoadImageAt(25+i);					
			}
		}
		this.GetComponent<RawImage>().texture=GameWorldController.instance.grFlasks.LoadImageAt(75);			
	}

	//public override void Update ()
    //{
    //    base.Update();
    //    UpdateFlaskDisplay();
    //}

    public void UpdateFlaskDisplay()
    {
        if (isHealthDisplay == true)
        {//Health flask
			MaxLevel=GameWorldController.instance.playerUW.PlayerMagic.MaxMana;
		}

		if ((isHealthDisplay) && (GameWorldController.instance.playerUW.Poisoned!=Poisoned))
		{
			Poisoned = GameWorldController.instance.playerUW.Poisoned;
			UpdatePoisonDisplay();
		}

        //if ((isHealthDisplay) && ((UWCharacter.Instance.play_poison != 0) != Poisoned))
        //{
        //    Poisoned = UWCharacter.Instance.play_poison != 0;
        //    UpdatePoisonDisplay();
        //}

        if ((Level != PreviousLevel) || (MaxLevel != PreviousMaxLevel))
        {
            PreviousLevel = Level;
            PreviousMaxLevel = MaxLevel;
            if (MaxLevel > 0)
            {
                FlaskLevel = (Level / MaxLevel) * 13.0f;

                for (int i = 0; i < 13; i++)
                {
                    LevelImages[i].enabled = (i < FlaskLevel);
                }
            }
            else
            {
                for (int i = 0; i < 13; i++)
                {
                    LevelImages[i].enabled = false;
                }
            }
        }
    }

    /// <summary>
    /// Changes the health display with the green poisoned one.
    /// </summary>
    public void UpdatePoisonDisplay(bool newState)
	{
		for (int i = 0; i <13; i++)
		{
			if (newState==true)
			{//Load the poisoned versions of the flask images.
		string output=""; 
		if (isHealthDisplay == true)
		{
			//Your current vitality is out of 
			if (GameWorldController.instance.playerUW.Poisoned==true)
			{
				output = "You are [barely/mildly/badly] poisoned\n";
			}
			output= output + "Your current vitality is " +GameWorldController.instance.playerUW.CurVIT + " out of " + GameWorldController.instance.playerUW.MaxVIT;
		}
		else
				case 8:
				case 9:
					output = "You are badly poisoned\n";break;
				case 10:
				case 11:
				case 12:
					output = "You are seriously poisoned\n";break;
				case 13:
				case 14:
				case 15:
					output = "You are egregiously poisoned\n";break;							
			}
			if (output!="")
			{
					UWHUD.instance.MessageScroll.Add(output);
					output="";
			}


			//Your current vitality is out of 
			//if (UWCharacter.Instance.Poisoned==true)
			//{
			//	output = "You are [barely/mildly/badly] poisoned\n";
			//}
			output= "Your current vitality is " +UWCharacter.Instance.CurVIT + " out of " + UWCharacter.Instance.MaxVIT;
		}
		else
		{//your current mana points are 
			output= output + "Your current mana points are " +UWCharacter.Instance.PlayerMagic.CurMana + " out of " + UWCharacter.Instance.PlayerMagic.MaxMana;
		}

		UWHUD.instance.MessageScroll.Add(output);
	}
}

<MSG> playerUw.poisoned replaced with play_poison value from save file.
additional notes on player.dat file.
<DFF> @@ -44,9 +44,9 @@ public class HealthFlask : GuiBase_Draggable {
 			MaxLevel=GameWorldController.instance.playerUW.PlayerMagic.MaxMana;
 		}
 
-		if ((isHealthDisplay) && (GameWorldController.instance.playerUW.Poisoned!=Poisoned))
+		if ((isHealthDisplay) && ((GameWorldController.instance.playerUW.play_poison!= 0) !=Poisoned))
 		{
-			Poisoned = GameWorldController.instance.playerUW.Poisoned;
+			Poisoned = GameWorldController.instance.playerUW.play_poison!=0;
 			UpdatePoisonDisplay();
 		}
 
@@ -91,11 +91,27 @@ public class HealthFlask : GuiBase_Draggable {
 		string output=""; 
 		if (isHealthDisplay == true)
 		{
+				switch(GameWorldController.instance.playerUW.play_poison)
+				{
+						case 1:
+							output = "You are barely poisoned\n";break;
+						case 2:
+						case 3:
+							output = "You are mildly poisoned\n";break;								
+						case 4:
+						case 5:
+							output = "You are badly poisoned\n";break;
+						case 6:
+							output = "You are seriously poisoned\n";break;
+						case 7:
+							output = "You are egregiously poisoned\n";break;
+				}
+
 			//Your current vitality is out of 
-			if (GameWorldController.instance.playerUW.Poisoned==true)
-			{
-				output = "You are [barely/mildly/badly] poisoned\n";
-			}
+			//if (GameWorldController.instance.playerUW.Poisoned==true)
+			//{
+			//	output = "You are [barely/mildly/badly] poisoned\n";
+			//}
 			output= output + "Your current vitality is " +GameWorldController.instance.playerUW.CurVIT + " out of " + GameWorldController.instance.playerUW.MaxVIT;
 		}
 		else

playerUw.poisoned replaced with play_poison value from save file. additional notes on player.dat file.