function onStartup(self) self:SetProximityRadius { radius = 20 } self:SetVar("playersNearChest", 0) end function onOnHit(self, msg) local player = msg.attacker if not self:GetVar("bIsHit") then self:SetVar("bIsHit" , true) self:CastSkill{skillID = 147, optionalOriginatorID = player} --self:GetSkills().skills[1] } -- has skill 147 (aoe that deals 2 damage) self:PlayEmbeddedEffectOnAllClientsNearObject{ radius = 16.0, fromObjectID = self, effectName = "camshake" } self:Die() --update the mission related to the crates player:UpdateMissionTask {taskType = "complete", value = 333, value2 = 1, target = self} --update the achievements related to the crates player:UpdateMissionTask{taskType = "complete", value = 430, value2 = 1, target = self} player:UpdateMissionTask{taskType = "complete", value = 431, value2 = 1, target = self} player:UpdateMissionTask{taskType = "complete", value = 432, value2 = 1, target = self} player:UpdateMissionTask{taskType = "complete", value = 454, value2 = 1, target = self} player:UpdateMissionTask{taskType = "complete", value = 455, value2 = 1, target = self} player:UpdateMissionTask{taskType = "complete", value = 456, value2 = 1, target = self} player:UpdateMissionTask{taskType = "complete", value = 457, value2 = 1, target = self} player:UpdateMissionTask{taskType = "complete", value = 458, value2 = 1, target = self} end end -- Plays a shake when a player is close function onProximityUpdate(self, msg) if (msg.status == "ENTER") then local faction = msg.objId:GetFaction() if faction and faction.faction == 1 then self:PlayAnimation{ animationID = "bounce" } self:PlayFXEffect{ name = "bouncin", effectType = "anim" } self:SetVar("playersNearChest", (self:GetVar("playersNearChest") + 1 )) end end if (msg.status == "LEAVE") then local faction = msg.objId:GetFaction() if faction and faction.faction == 1 then self:SetVar("playersNearChest", (self:GetVar("playersNearChest") - 1 )) if self:GetVar("playersNearChest") < 1 then self:PlayAnimation{ animationID = "idle" } self:StopFXEffect{ name = "bouncin" } self:SetVar("playersNearChest", 0) end end end end