local doorsrv = lgs.DoorSrv
local propsrv = lgs.PropertySrv
local objsrv = lgs.ObjectSrv
local puppetsrv = lgs.PuppetSrv
local damagesrv = lgs.DamageSrv
local AIsrv = lgs.AISrv

function FrobWorldEnd(msg)
	-- Joueur qui a de mauvaises surprises et qui referme vite la porte
	if objsrv.InheritsFrom(msg.Frobber,-2098) then
		doorsrv.CloseDoor(script.objid)
	end
	-- Je suis un zombie débile et je ne sais pas ouvrir une porte
	if objsrv.InheritsFrom(msg.Frobber,-1321) and tonumber(propsrv.Get(script.objid,'HitPoints'))>1 then
		doorsrv.CloseDoor(script.objid)
	end
		if objsrv.InheritsFrom(msg.Frobber,-1319) and tonumber(propsrv.Get(script.objid,'HitPoints'))>1 and AIsrv.GetAlertLevel(msg.Frobber)>2 then
		doorsrv.CloseDoor(script.objid)
	end
	-- Je suis un mort-vivant et je casse les portes cassée
	if objsrv.InheritsFrom(msg.Frobber,-1319) and tonumber(propsrv.Get(script.objid,'HitPoints'))<=1 then
		local Debris = objsrv.BeginCreate(objsrv.Named("DoorFlinders"))
		objsrv.Teleport(Debris, objsrv.Position(script.objid))
		Debris = objsrv.EndCreate(objsrv.Named("DoorFlinders"))
		objsrv.Destroy(script.objid)
	end
	return true
end

function FrobWorldBegin(msg)
	-- Joueur prudent qui regarde ce qui est derrière la porte, près à la refermer en cas de mauvaises surprises
	if objsrv.InheritsFrom(msg.Frobber,-2098) then
		doorsrv.OpenDoor(script.objid)
	end
	-- Je suis un zombie, et les portes en bois, je passe à travers
	if objsrv.InheritsFrom(msg.Frobber,-1321) and propsrv.Get(script.objid,'Material Tags')=='Material Wood' then
		doorsrv.SetBlocking(script.objid,false)
		damagesrv.Damage(script.objid,msg.Frobber,7,-901)
		local DustSmoke = objsrv.BeginCreate(-1997)
		objsrv.Teleport(DustSmoke, objsrv.Position(script.objid))
		DustSmoke = objsrv.EndCreate(-1997)
	end
	-- Je suis un mort-vivant, je sais ouvrir les portes, sauf quand je suis énervé
	if objsrv.InheritsFrom(msg.Frobber,-1319) and propsrv.Get(script.objid,'Material Tags')=='Material Wood' and AIsrv.GetAlertLevel(msg.Frobber)>2 then
		doorsrv.SetBlocking(script.objid,false)
		damagesrv.Damage(script.objid,msg.Frobber,7,-901)
		local DustSmoke = objsrv.BeginCreate(-1997)
		objsrv.Teleport(DustSmoke, objsrv.Position(script.objid))
		DustSmoke = objsrv.EndCreate(-1997)
	end
	return true
end