Spawner: Large code refactor to remove dependency on plotmarkers.
Most spawner functions can now be called without giving a plotmarker. Move scanning functions to places.lua. Places: Cleanup and add more area-scanning functions. Schedules: Bugfix where schedules weren't being executed due to wrong "end" order in the do_custom() function. Data: Moved random data to "data" folder. Textures: Add 14 male textures and 10 female textures. Occupations: Small tweaks to "default_basic" occupation.
This commit is contained in:
127
data/dialogues_data.lua
Normal file
127
data/dialogues_data.lua
Normal file
@ -0,0 +1,127 @@
|
||||
|
||||
|
||||
|
||||
-- Phase 1 dialogues, unisex
|
||||
|
||||
npc.dialogue.register_dialogue({
|
||||
text = "Hello there!",
|
||||
tags = {"unisex", "phase1"}
|
||||
})
|
||||
|
||||
npc.dialogue.register_dialogue({
|
||||
text = "How are you doing?",
|
||||
tags = {"unisex", "phase1"}
|
||||
})
|
||||
|
||||
npc.dialogue.register_dialogue({
|
||||
text = "Just living another day...",
|
||||
tags = {"unisex", "phase1"}
|
||||
})
|
||||
|
||||
-- Phase 1 dialogues, female
|
||||
|
||||
npc.dialogue.register_dialogue({
|
||||
text = "Is there any woman in this area more beautiful than I am?",
|
||||
tags = {"female", "phase1"}
|
||||
})
|
||||
|
||||
npc.dialogue.register_dialogue({
|
||||
text = "Hello! Have you been to the sea?",
|
||||
tags = {"female", "phase1"},
|
||||
responses = {
|
||||
[1] = {
|
||||
text = "No, never before",
|
||||
action_type = "function",
|
||||
action = function(self, player)
|
||||
minetest.chat_send_player(player:get_player_name(), "Oh, never? How come! You should."..
|
||||
"\nHere, take this. It will guide you to the sea...")
|
||||
end
|
||||
},
|
||||
[2] = {
|
||||
text = "Yes, sure",
|
||||
action_type = "dialogue",
|
||||
action = {
|
||||
text = "It's so beautiful, and big, and large, and infinite, and..."
|
||||
}
|
||||
},
|
||||
[3] = {
|
||||
text = "Of course! And to all the seas in the world!",
|
||||
action_type = "dialogue",
|
||||
action = {
|
||||
text = "Awww you are no fun then! Go on then know-it-all!"
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
npc.dialogue.register_dialogue({
|
||||
text = "Hello there, could you help me?",
|
||||
tags = {"phase1", "female"},
|
||||
flag = {name="received_money_help", value=false},
|
||||
responses = {
|
||||
[1] = {
|
||||
text = "Yes, how can I help?",
|
||||
action_type = "dialogue",
|
||||
action = {
|
||||
text = "Could you please give me 3 "..npc.trade.prices.currency.tier3.name.."?",
|
||||
responses = {
|
||||
[1] = {
|
||||
text = "Yes, ok, here",
|
||||
action_type = "function",
|
||||
action = function(self, player)
|
||||
-- Take item
|
||||
if npc.actions.execute(self, npc.actions.cmd.TAKE_ITEM, {
|
||||
player=player:get_player_name(),
|
||||
pos=nil,
|
||||
inv_list="main",
|
||||
item_name=npc.trade.prices.currency.tier3.string,
|
||||
count=3
|
||||
}) then
|
||||
-- Send message
|
||||
npc.chat(self.npc_name, player:get_player_name(), "Thank you, thank you so much!")
|
||||
-- Set flag
|
||||
npc.add_flag(self, "received_money_help", true)
|
||||
-- Add chat line
|
||||
--table.insert(self.dialogues.normal, npc.data.DIALOGUES.female["phase1"][8])
|
||||
else
|
||||
npc.chat(self.npc_name, player:get_player_name(), "Looks like you don't have that amount of money...")
|
||||
end
|
||||
end
|
||||
},
|
||||
[2] = {
|
||||
text = "No, I'm sorry",
|
||||
action_type = "dialogue",
|
||||
action = {
|
||||
text = "Oh..."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
[2] = {
|
||||
text = "No, I'm sorry, can't now",
|
||||
action_type = "function",
|
||||
action = function(self, player)
|
||||
npc.chat(self.npc_name, player:get_player_name(), "Oh, ok...")
|
||||
end
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
npc.dialogue.register_dialogue({
|
||||
text = "Thank you so much for your help, thank you!",
|
||||
flag = {name="received_money_help", value=true},
|
||||
tags = {"phase1", "female"}
|
||||
})
|
||||
|
||||
-- Phase 1 dialogues, male
|
||||
|
||||
npc.dialogue.register_dialogue({
|
||||
text = "Hunting is the best pasttime!",
|
||||
tags = {"male", "phase1"}
|
||||
})
|
||||
|
||||
npc.dialogue.register_dialogue({
|
||||
text = "I hope my wheat grows well this harvest.",
|
||||
tags = {"male", "default_farmer"}
|
||||
})
|
237
data/gift_items_data.lua
Normal file
237
data/gift_items_data.lua
Normal file
@ -0,0 +1,237 @@
|
||||
------------------------------------------------------------------------------
|
||||
-- Gift Items data definitions
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
-- PHASE 1
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
npc.relationships.register_favorite_item("default:apple", "phase1", "female", {
|
||||
responses = {"Hey, I really wanted an apple, thank you!"},
|
||||
hints = {"I could really do with an apple..."}
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("farming:bread", "phase1", "female", {
|
||||
responses = {"Thanks, you didn't have to, but thanks..."},
|
||||
hints = {"Some fresh bread would be good!"}
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("farming:seed_cotton", "phase1", "female", {
|
||||
responses = {"Thank you, I will plant this really soon"},
|
||||
hints = {"I would like to have some cotton plants around"}
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("farming:seed_wheat", "phase1", "female", {
|
||||
responses = {"Thank you! These seeds will make a good wheat plant!"},
|
||||
hints = {"I've been thinking I should get wheat seeds"}
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("flowers:rose", "phase1", "female", {
|
||||
responses = {"Thanks..."},
|
||||
hints = {"Red roses make a nice gift!"}
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("flowers:geranium", "phase1", "female", {
|
||||
responses = {"Oh, for me? Thank you!"},
|
||||
hints = {"Blue geraniums are so beautiful"}
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("default:clay_lump", "phase1", "female", {
|
||||
responses = {"Thanks! Now, what can I do with this..."},
|
||||
hints = {"If I had some clay lump, I may do some pottery"}
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("mobs:meat_raw", "phase1", "female", {
|
||||
responses = {"This will be great for tonight! Thanks"},
|
||||
hints = {"A good dinner always have meat"}
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("mobs:leather", "phase1", "female", {
|
||||
responses = {"Thank you! I needed this!"},
|
||||
hints = {"If only I could get some leather"}
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("default:sapling", "phase1", "female", {
|
||||
responses = {"Now I can plant that tree..."},
|
||||
hints = {"I really would like an apple tree close by."}
|
||||
})
|
||||
|
||||
|
||||
npc.relationships.register_favorite_item("farming:cotton", "phase2", "female", {
|
||||
responses = {"This is going to be very helpful, thank you!"},
|
||||
hints = {"If I just had some cotton lying around..."}
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("wool:white", "phase2", "female", {
|
||||
responses = {"Thanks, you didn't have to, but thanks..."},
|
||||
hints = {"Have you seen a sheep? I wish I had some white wool..."}
|
||||
})
|
||||
|
||||
|
||||
npc.relationships.register_favorite_item("default:apple", "phase3", "female", {
|
||||
responses = {"Hey, I really wanted an apple, thank you!"},
|
||||
hints = {"I could really do with an apple..."}
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("farming:bread", "phase3", "female", {
|
||||
responses = {"Thanks, you didn't have to, but thanks..."},
|
||||
hints = {"Some fresh bread would be good!"}
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("default:apple", "phase4", "female", {
|
||||
responses = {"Hey, I really wanted an apple, thank you!"},
|
||||
hints = {"I could really do with an apple..."}
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("farming:bread", "phase4", "female", {
|
||||
responses = {"Thanks, you didn't have to, but thanks..."},
|
||||
hints = {"Some fresh bread would be good!"}
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("default:apple", "phase5", "female", {
|
||||
responses = {"Hey, I really wanted an apple, thank you!"},
|
||||
hints = {"I could really do with an apple..."}
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("farming:bread", "phase5", "female", {
|
||||
responses = {"Thanks, you didn't have to, but thanks..."},
|
||||
hints = {"Some fresh bread would be good!"}
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("default:apple", "phase6", "female", {
|
||||
responses = {"Hey, I really wanted an apple, thank you!"},
|
||||
hints = {"I could really do with an apple..."}
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("farming:bread", "phase6", "female", {
|
||||
responses = {"Thanks, you didn't have to, but thanks..."},
|
||||
hints = {"Some fresh bread would be good!"}
|
||||
})
|
||||
|
||||
|
||||
-- Male
|
||||
npc.relationships.register_favorite_item("default:apple", "phase1", "male", {
|
||||
responses = {"Good apple, thank you!"},
|
||||
hints = {"I could do with an apple..."}
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("farming:bread", "phase1", "male", {
|
||||
responses = {"Thank you! I was hungry."},
|
||||
hints = {"Some fresh bread would be good!"}
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("farming:seed_cotton", "phase1", "male", {
|
||||
responses = {"Thank you, I will plant this soon"},
|
||||
hints = {"I would like to have some cotton plants around."}
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("farming:seed_wheat", "phase1", "male", {
|
||||
responses = {"Thank you! These seeds will make a good wheat plant!"},
|
||||
hints = {"I've been thinking I should get wheat seeds."}
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("default:wood", "phase1", "male", {
|
||||
responses = {"Thanks, I needed this."},
|
||||
hints = {"Some wood without having to cut a tree would be good.}"}
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("default:tree", "phase1", "male", {
|
||||
responses = {"Excellent to get that furnace going!"},
|
||||
hints = {"I'm looking for some logs"}
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("default:clay_lump", "phase1", "male", {
|
||||
responses = {"Thanks! Now, what can I do with this..."},
|
||||
hints = {"Now, some clay would be good."}
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("mobs:meat_raw", "phase1", "male", {
|
||||
responses = {"This makes a great meal. Thank you"},
|
||||
hints = {"Meat is always great"},
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("mobs:leather", "phase1", "male", {
|
||||
responses = {"Time to tan some leathers!"},
|
||||
hints = {"I have been needing leather these days."}
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("default:sapling", "phase1", "male", {
|
||||
responses = {"Thanks, I will plant this right now"},
|
||||
hints = {"I really would like an apple tree close by."}
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("default:apple", "phase2", "male", {
|
||||
responses = {"Good apple, thank you!"},
|
||||
hints = {"I could do with an apple..."}
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("farming:bread", "phase2", "male", {
|
||||
responses = {"Thank you! I was hungry."},
|
||||
hints = {"Some fresh bread would be good!"}
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("default:apple", "phase3", "male", {
|
||||
responses = {"Good apple, thank you!"},
|
||||
hints = {"I could do with an apple..."}
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("farming:bread", "phase3", "male", {
|
||||
responses = {"Thank you! I was hungry."},
|
||||
hints = {"Some fresh bread would be good!"}
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("default:apple", "phase4", "male", {
|
||||
responses = {"Good apple, thank you!"},
|
||||
hints = {"I could do with an apple..."}
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("farming:bread", "phase4", "male", {
|
||||
responses = {"Thank you! I was hungry."},
|
||||
hints = {"Some fresh bread would be good!"}
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("default:apple", "phase5", "male", {
|
||||
responses = {"Good apple, thank you!"},
|
||||
hints = {"I could do with an apple..."}
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("farming:bread", "phase5", "male", {
|
||||
responses = {"Thank you! I was hungry."},
|
||||
hints = {"Some fresh bread would be good!"}
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("default:apple", "phase6", "male", {
|
||||
responses = {"Good apple, thank you!"},
|
||||
hints = {"I could do with an apple..."}
|
||||
})
|
||||
|
||||
npc.relationships.register_favorite_item("farming:bread", "phase6", "male", {
|
||||
responses = {"Thank you! I was hungry."},
|
||||
hints = {"Some fresh bread would be good!"}
|
||||
})
|
||||
|
||||
-- Disliked items
|
||||
-- Female
|
||||
npc.relationships.register_disliked_item("default:stone", "female", {
|
||||
responses = {"A stone, oh... why do you give this to me?"},
|
||||
hints = {"Why would someone want a stone?"}
|
||||
})
|
||||
|
||||
npc.relationships.register_disliked_item("default:cobble", "female", {
|
||||
responses = {"Cobblestone? No, no, why?"},
|
||||
hints = {"Anything worst than stone is cobblestone."}
|
||||
})
|
||||
|
||||
-- Male
|
||||
npc.relationships.register_disliked_item("default:stone", "male", {
|
||||
responses = {"Good apple, thank you!"},
|
||||
hints = {"I could do with an apple..."}
|
||||
})
|
||||
|
||||
npc.relationships.register_disliked_item("default:cobble", "male", {
|
||||
responses = {"Cobblestone!? Wow, you sure think a lot before giving a gift..."},
|
||||
hints = {"If I really hate something, that's cobblestone!"}
|
||||
})
|
||||
|
||||
npc.log("INFO", "Registered gift items: "..dump(npc.relationships.gift_items))
|
||||
npc.log("INFO", "Registered dialogues: "..dump(npc.dialogue.registered_dialogues))
|
0
data/names_data.lua
Normal file
0
data/names_data.lua
Normal file
67
data/occupations_data.lua
Normal file
67
data/occupations_data.lua
Normal file
@ -0,0 +1,67 @@
|
||||
-- Occupations definitions
|
||||
|
||||
-- Register default occupation
|
||||
npc.occupations.register_occupation("default_basic", npc.occupations.basic_def)
|
||||
|
||||
-- Test farmer
|
||||
npc.occupations.register_occupation("test_farmer", {
|
||||
dialogues = {},
|
||||
textures = {},
|
||||
initial_inventory = {},
|
||||
schedule_entries = {
|
||||
[7] = {
|
||||
[1] =
|
||||
{
|
||||
task = npc.actions.cmd.WALK_TO_POS,
|
||||
args = {
|
||||
end_pos = npc.places.PLACE_TYPE.OTHER.HOME_OUTSIDE,
|
||||
walkable = {}
|
||||
}
|
||||
},
|
||||
[2] =
|
||||
{
|
||||
check = true,
|
||||
range = 2,
|
||||
random_execution_times = true,
|
||||
min_count = 10,
|
||||
max_count = 12,
|
||||
nodes = {"farming:cotton_3"},
|
||||
actions =
|
||||
{
|
||||
-- Actions for grown cotton - harvest and replant
|
||||
["farming:cotton_3"] =
|
||||
{
|
||||
[1] =
|
||||
{
|
||||
action = npc.actions.cmd.WALK_STEP,
|
||||
},
|
||||
[2] =
|
||||
{
|
||||
action = npc.actions.cmd.DIG,
|
||||
},
|
||||
[3] =
|
||||
{
|
||||
action = npc.actions.cmd.PLACE,
|
||||
args =
|
||||
{
|
||||
node = "farming:cotton_1"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
none_actions =
|
||||
{
|
||||
-- Walk a single step in a random direction
|
||||
[1] = {
|
||||
action = npc.actions.cmd.WALK_STEP,
|
||||
args =
|
||||
{
|
||||
dir = "random"
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
Reference in New Issue
Block a user