diff --git a/data/occupations_data.lua b/data/occupations_data.lua index badf16d..03fd0f7 100644 --- a/data/occupations_data.lua +++ b/data/occupations_data.lua @@ -11,6 +11,54 @@ npc.occupations.register_occupation("test_priest", { { text = "How are you today my child?", tags = {"male"} + }, + { + text = "Welcome to the temple, how can I help you today?", + flag = {name="on_church", value=true}, + tags = {"unisex"}, + responses = + { + [1] = { + text = "I'm injured. Can you heal me?", + action_type = "function", + action = function(self, player) + local heal_count = self.flags["heal_count"] + if heal_count then + -- Increase heal count + self.flags["heal_count"] = self.flags["heal_count"] + 1 + else + self.flags["heal_count"] = 1 + heal_count = 1 + end + -- Check if heal count is achieved + if heal_count > 5 then + npc.chat(self.npc_name, player:get_player_name(), "I cannot heal you anymore, " + .."my child. To mortals like you and me, the power of the Creator is " + .." limited. Only though learning the teachings we are able to understand more" + .."... Be safe my child.") + else + npc.chat(self.npc_name, player:get_player_name(), + "Receive the blessings of the Creator!") + effect(self.object:getpos(), 20, "default_coral_skeleton.png", 0.1, 0.3, 3, 10) + -- Heal one heart + player:set_hp(player:get_hp() + 2) + end + end + }, + [2] = { + text = "What are your teachings?", + action_type = "function", + action = function(self, player) + local teachings = { + [1] = "Do unto others what you would have them do unto you.", + [2] = "Sincerity is the way to heaven, and to think how to be sincere is the way of the man", + [3] = "Even as the scent dwells within the flower, so God within thine own heart forever abides" + } + npc.chat(self.npc_name, player:get_player_name(), teachings[math.random(1, #teachings)] + ..". These are the teachings of our Creator.") + end + } + } } } }, @@ -27,7 +75,88 @@ npc.occupations.register_occupation("test_priest", { surrounding_building_types = { "church" }, - schedule_entries = {} + schedules_entries = { + [7] = { + -- Get out of bed + [1] = { + task = npc.actions.cmd.USE_BED, + args = { + pos = npc.places.PLACE_TYPE.BED.PRIMARY, + action = npc.actions.const.beds.GET_UP + } + }, + -- Walk to home inside + [2] = { + task = npc.actions.cmd.WALK_TO_POS, + chance = 95, + args = { + end_pos = npc.places.PLACE_TYPE.OTHER.HOME_INSIDE, + walkable = {} + } + }, + -- Allow mobs_redo wandering + [3] = {action = npc.actions.cmd.FREEZE, args = {freeze = false}} + }, + [8] = { + -- Walk to workplace + [1] = + { + task = npc.actions.cmd.WALK_TO_POS, + args = { + end_pos = npc.places.PLACE_TYPE.WORKPLACE.PRIMARY, + walkable = {}, + use_access_node = true + } + }, + [2] = + { + property = npc.schedule_properties.flag, + args = { + action = "set", + flag_name = "on_church", + flag_value = true + } + } + }, + [17] = { + [1] = + { + property = npc.schedule_properties.flag, + args = { + action = "set", + flag_name = "on_church", + flag_value = false + } + }, + [2] = + { + task = npc.actions.cmd.WALK_TO_POS, + args = { + end_pos = npc.places.PLACE_TYPE.OTHER.HOME_INSIDE, + walkable = {} + } + } + }, + [21] = { + [1] = { + task = npc.actions.cmd.WALK_TO_POS, + args = { + end_pos = {place_type=npc.places.PLACE_TYPE.BED.PRIMARY, use_access_node=true}, + walkable = {} + } + }, + -- Use bed + [2] = { + task = npc.actions.cmd.USE_BED, + args = { + pos = npc.places.PLACE_TYPE.BED.PRIMARY, + action = npc.actions.const.beds.LAY + } + }, + -- Stay put on bed + [3] = {action = npc.actions.cmd.FREEZE, args = {freeze = true}} + } + } }) -- Test farmer