Scriptname Tsc_ThrowingWeapons_ArmorDamage extends activemagiceffect  

Event OnEffectStart(Actor akTarget, Actor akCaster)
	if (!akTarget.IsDead())
		float damage = 700 - akTarget.GetActorValue("DamageResist")
		if (damage > 0)
			float skillModifier = akCaster.GetActorValue("OneHanded") / 100 * baseDamage
			damage = damage / 700 * skillModifier
			if (akCaster.IsSneaking() && !akCaster.IsDetectedBy(akTarget))
				if (isKnife)
					damage *= 3
					if (akCaster == Game.GetPlayer())
						sneakAttackSound.Play(akCaster)
						Debug.Notification("Sneak attack for 3.0X damage!")
						Game.AdvanceSkill("Sneak", 15.0)
					endIf
				else
					damage *= 2
					if (akCaster == Game.GetPlayer())
						sneakAttackSound.Play(akCaster)
						Debug.Notification("Sneak attack for 2.0X damage!")
						Game.AdvanceSkill("Sneak", 15.0)
					endIf
				endIf
			endIf

			if (akCaster == Game.GetPlayer())
				float currentStamina = akCaster.GetActorValue("Stamina") + 20.00
				float lowStamina = akCaster.GetBaseActorValue("Stamina") / 3
				if (currentStamina >= akCaster.GetBaseActorValue("Stamina"))
					damage *= 2
					Debug.Notification("High stamina throw for double damage!")
				elseif (currentStamina < lowStamina)
					damage /= 2
					Debug.Notification("Low stamina throw for half damage.")
				endIf
			endIf

			akTarget.DamageActorValue("Health", damage)
			if (akCaster == Game.GetPlayer())
				Game.AdvanceSkill("OneHanded", skillModifier)
			endIf
		endIf
	endIf
	
	int random = Utility.RandomInt(0, 99)
	if (random < 75)
		if (!akTarget.IsPlayerTeammate() && akTarget != Game.GetPlayer())
			akTarget.AddItem(dummyObject, 1, true)
		endIf
	endIf
endEvent

Int Property baseDamage Auto
Sound Property sneakAttackSound  Auto
Bool Property isKnife  Auto
MiscObject Property dummyObject  Auto