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

public class a_ward_trap : trap_base
{
    //?
    /*
	 * Magic ward traps.
	 * NPC collides with one it will set off a spell property object.
	 */

    public SpellProp spellprop;//The spell properties of the ward.
    public bool CanHitPlayer = true;
		{
			base.Start ();
			this.gameObject.layer = LayerMask.NameToLayer("Ward");
			SpellProp_RuneOfWarding spIJ = new SpellProp_RuneOfWarding();//myObj.AddComponent<SpellProp_RuneOfWarding>();
			spIJ.init (SpellEffect.UW1_Spell_Effect_RuneofWarding,UWCharacter.Instance.gameObject);
			spellprop=spIJ;
		}

	void OnTriggerEnter(Collider other)

    void OnTriggerEnter(Collider other)
    {

			if (npc!=null)//Has the collision hit an npc
			{
				spellprop.init(SpellEffect.UW1_Spell_Effect_RuneofWarding,UWCharacter.Instance.gameObject);
				if(spellprop.BaseDamage!=0)
				{
						npc.ApplyAttack(spellprop.BaseDamage);
				}
				spellprop.onImpact(npc.transform);
				spellprop.onHit(npc.gameObject.GetComponent<ObjectInteraction>());
				this.GetComponent<ObjectInteraction>().objectloaderinfo.InUseFlag=0;
				Destroy (this.gameObject);
			}
			else
			{
			if (other.gameObject.GetComponent<UWCharacter>())
				{
					spellprop.onImpactPlayer();
				}					
			}
		}
}
}

<MSG> Implemented the tym rune and uw2 paralysed counter.
<DFF> @@ -14,9 +14,49 @@ public class a_ward_trap : trap_base {
 		{
 			base.Start ();
 			this.gameObject.layer = LayerMask.NameToLayer("Ward");
-			SpellProp_RuneOfWarding spIJ = new SpellProp_RuneOfWarding();//myObj.AddComponent<SpellProp_RuneOfWarding>();
-			spIJ.init (SpellEffect.UW1_Spell_Effect_RuneofWarding,UWCharacter.Instance.gameObject);
-			spellprop=spIJ;
+				BoxCollider bx=this.gameObject.GetComponent<BoxCollider>();
+				if (bx==null)
+				{
+						bx=this.gameObject.AddComponent<BoxCollider>();	
+				}
+				bx.size=new Vector3(0.2f,0.2f,0.2f);
+				bx.center=new Vector3(0.0f,0.1f,0.0f);
+				bx.isTrigger=true;
+				switch (_RES)
+				{
+				case GAME_UW2:
+						{
+							switch (objInt().item_id)
+							{
+							case 414: //flam trap
+									{
+											SpellProp_Fireball sppf = new SpellProp_Fireball();
+											sppf.init(SpellEffect.UW2_Spell_Effect_Fireball, UWCharacter.Instance.gameObject);
+											spellprop=sppf;
+											break;		
+									}
+							case 415://tym trap
+										{
+												SpellProp_Tym spty = new SpellProp_Tym();
+												spty.init(SpellEffect.UW2_Spell_Effect_Paralyze, UWCharacter.Instance.gameObject);
+												spellprop=spty;
+												break;	
+										}
+							default:
+									Debug.Log ("unimplemented ward trap type " + objInt().item_id);
+									break;
+							}
+								break;
+						}
+				default://UW1 rune of warding
+						{
+								SpellProp_RuneOfWarding spIJ = new SpellProp_RuneOfWarding();//myObj.AddComponent<SpellProp_RuneOfWarding>();
+								spIJ.init (SpellEffect.UW1_Spell_Effect_RuneofWarding,UWCharacter.Instance.gameObject);
+								spellprop=spIJ;
+								break;	
+						}
+				}
+
 		}
 
 	void OnTriggerEnter(Collider other)
@@ -26,22 +66,37 @@ public class a_ward_trap : trap_base {
 
 			if (npc!=null)//Has the collision hit an npc
 			{
-				spellprop.init(SpellEffect.UW1_Spell_Effect_RuneofWarding,UWCharacter.Instance.gameObject);
+				//spellprop.init(SpellEffect.UW1_Spell_Effect_RuneofWarding,UWCharacter.Instance.gameObject);
 				if(spellprop.BaseDamage!=0)
 				{
-						npc.ApplyAttack(spellprop.BaseDamage);
+					npc.ApplyAttack(spellprop.BaseDamage);
 				}
 				spellprop.onImpact(npc.transform);
 				spellprop.onHit(npc.gameObject.GetComponent<ObjectInteraction>());
-				this.GetComponent<ObjectInteraction>().objectloaderinfo.InUseFlag=0;
-				Destroy (this.gameObject);
+				//this.GetComponent<ObjectInteraction>().objectloaderinfo.InUseFlag=0;
+				//Destroy (this.gameObject);
+				objInt().consumeObject();
+
 			}
 			else
 			{
 			if (other.gameObject.GetComponent<UWCharacter>())
 				{
-					spellprop.onImpactPlayer();
-				}					
+					if(spellprop.BaseDamage!=0)
+					{
+						UWCharacter.Instance.ApplyDamage(spellprop.BaseDamage);
+					}
+					spellprop.onHitPlayer();
+								objInt().consumeObject();
+				}
+				else
+				{
+					if (_RES==GAME_UW2)
+					{
+							objInt().consumeObject();
+					}
+				}
 			}
+
 		}
 }

Implemented the tym rune and uw2 paralysed counter.