-- Pumpkin meeps...! They eat all meeps aggressively. But players can kill them. Define Properties() pumpkinsize = 1.3 end Trigger attach() -- starts the callback chain going -- we use a callback chain because then you can change the speed for the object Debug("Attached") self.pumpkinsize = rand(0.5, 2) SetSpriteScale(self, self.pumpkinsize, self.pumpkinsize) SendTo(self, "wander", 1000) end Trigger wander() -- first, we hunt objects = GetObjectsInRange(5) for index, target in ipairs(objects) do if (target.type == "blackmeep") or (target.type == "redmeep") or (target.type == "yellowmeep") or (target.type == "bug") then self.speed = 1 PathToLocation(self, target.x, target.y) SendTo(self, "wander", 5000) return end end Debug("Wandering.") xoffset = math.random(0, 6) - 3 yoffset = math.random(0, 6) - 3 self.speed = 0.5 PathToLocation(self, self.x+xoffset, self.y+yoffset) SendTo(self, "wander", 5000) end Trigger destroyed() db = CreateObject("pumpkinmeepdeath", self.x, self.y) SetSpriteScale(db, self.pumpkinsize, self.pumpkinsize) db.lifetime = 2000 end Trigger hit_by(obstacle) if obstacle.type == "player" then DestroyObject(self) end if (obstacle.type == "blackmeep") or (obstacle.type == "redmeep") or (obstacle.type == "yellowmeep") or (obstacle.type == "bug") then DestroyObject(obstacle) end end Trigger hit(obstacle) if obstacle.type == "player" then DestroyObject(self) end if (obstacle.type == "blackmeep") or (obstacle.type == "redmeep") or (obstacle.type == "yellowmeep") or (obstacle.type == "bug") then DestroyObject(obstacle) end end function rand(min, max) local num = math.random() -- get a random # between 0.0 and 1.0 local range = math.abs(max - min) -- figure out the space between the max and the min local offset = range * num -- multiply the random number by the range to get a fraction of the range return min + offset -- add that fraction to the min number, and return it as the result end