Priest occupation (WIP)
This commit is contained in:
parent
48eb8078b3
commit
cd8e3c09cb
@ -11,6 +11,54 @@ npc.occupations.register_occupation("test_priest", {
|
|||||||
{
|
{
|
||||||
text = "How are you today my child?",
|
text = "How are you today my child?",
|
||||||
tags = {"male"}
|
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 = {
|
surrounding_building_types = {
|
||||||
"church"
|
"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
|
-- Test farmer
|
||||||
|
Loading…
Reference in New Issue
Block a user