advanced_npc/random_data.lua
Hector Franqui 1d1a56592b Actions: Rewrite API to use executor function + constants of commands.
Re-write NPC add action/task functions, do_custom() to use new actions API.
Spawner: Find building entrances (WIP)
Places: Fix numerous bugs with add/get places functions.
Actions: Fix bugs with sittable task.
2017-05-13 13:17:45 -04:00

565 lines
14 KiB
Lua

-- Random data provider to create random NPCs by Zorman2000
npc.data = {}
npc.data.DIALOGUES = {
female = {},
male = {}
}
-- Female dialogue options defined by phase
-- Phase 1
npc.data.DIALOGUES.female["phase1"] = {
[1] = {
text = "Hello there!"
},
[2] = {
text = "How are you doing?"
},
[3] = {
text = "Hey, I haven't seen you before!"
},
[4] = {
text = "Just another day..."
},
[5] = {
text = "The weather is nice today"
},
[6] = {
text = "Hello! Have you been to the sea?",
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!"
}
}
}
},
[7] = {
text = "Hello there, could you help me?",
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
local args = {
player=player,
pos=nil,
inv_list="main",
item_name=npc.trade.prices.currency.tier3.string,
count=3
}
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
})
-- Send message
minetest.chat_send_player(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])
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)
minetest.chat_send_player(player:get_player_name(), "Oh, ok...")
end
}
}
},
[8] = {
text = "Thank you so much for your help, thank you!",
flag = {name="received_money_help", value=true}
}
}
-- Phase 2
npc.data.DIALOGUES.female["phase2"] = {
[1] = {
text = "Hey buddy!"
},
[2] = {
text = "Hey buddy!"
},
[3] = {
text = "Hey buddy!"
},
[4] = {
text = "Hey buddy!"
}
}
-- Phase 3
npc.data.DIALOGUES.female["phase3"] = {
[1] = {
text = "Hi there! Great to see you!"
},
[2] = {
text = "Hi there! Great to see you!"
},
[3] = {
text = "Hi there! Great to see you!"
},
[4] = {
text = "Hi there! Great to see you!"
}
}
-- Phase 4
npc.data.DIALOGUES.female["phase4"] = {
[1] = {
text = "I was honestly looking forward to talk to you!"
},
[2] = {
text = "I was honestly looking forward to talk to you!"
},
[3] = {
text = "I was honestly looking forward to talk to you!"
},
[4] = {
text = "I was honestly looking forward to talk to you!"
}
}
-- Phase 5
npc.data.DIALOGUES.female["phase5"] = {
[1] = {
text = "You are the love of my life"
},
[2] = {
text = "You are the love of my life"
},
[3] = {
text = "You are the love of my life"
},
[4] = {
text = "You are the love of my life"
}
}
-- Phase 6
npc.data.DIALOGUES.female["phase6"] = {
[1] = {
text = "You are the best thing that has happened to me!"
},
[2] = {
text = "You are the best thing that has happened to me!"
},
[3] = {
text = "You are the best thing that has happened to me!"
},
[4] = {
text = "You are the best thing that has happened to me!"
},
}
-- Male dialogue options defined by phase
-- Phase 1
npc.data.DIALOGUES.male["phase1"] = {
[1] = {
text = "Hello!"
},
[2] = {
text = "Welcome to our village, stranger."
},
[3] = {
text = "Just a great day to go to the woods..."
},
[4] = {
text = "Bah, stone! Useless stuff."
},
[5] = {
text = "What do you think of this weather?"
},
[6] = {
text = "Hello! Have you been to the sea?",
responses = {
[1] = {
text = "No, never before",
action_type = "function",
action = function(npc, player)
minetest.chat_send_player(player:get_player_name(), "Then you are not worth my time.")
end
},
[2] = {
text = "Yes, sure",
action_type = "dialogue",
action = {
text = "Then you should appreciate it as a great pirate of the seven seas do!"
}
},
[3] = {
text = "Of course! And to all the seas in the world!",
action_type = "dialogue",
action = {
text = "No my friend, I don't think so! I have been to all the seas!"
}
}
}
}
}
-- Phase 2
npc.data.DIALOGUES.male["phase2"] = {
[1] = {
text = "Hey buddy!"
},
[2] = {
text = "Hey buddy!"
},
[3] = {
text = "Hey buddy!"
},
[4] = {
text = "Hey buddy!"
}
}
-- Phase 3
npc.data.DIALOGUES.male["phase3"] = {
[1] = {
text = "Hi there! Great to see you!"
},
[2] = {
text = "Hi there! Great to see you!"
},
[3] = {
text = "Hi there! Great to see you!"
},
[4] = {
text = "Hi there! Great to see you!"
}
}
-- Phase 4
npc.data.DIALOGUES.male["phase4"] = {
[1] = {
text = "I was honestly looking forward to talk to you!"
},
[2] = {
text = "I was honestly looking forward to talk to you!"
},
[3] = {
text = "I was honestly looking forward to talk to you!"
},
[4] = {
text = "I was honestly looking forward to talk to you!"
}
}
-- Phase 5
npc.data.DIALOGUES.male["phase5"] = {
[1] = {
text = "You are the love of my life"
},
[2] = {
text = "You are the love of my life"
},
[3] = {
text = "You are the love of my life"
},
[4] = {
text = "You are the love of my life"
}
}
-- Phase 6
npc.data.DIALOGUES.male["phase6"] = {
[1] = {
text = "You are the best thing that has happened to me!"
},
[2] = {
text = "You are the best thing that has happened to me!"
},
[3] = {
text = "You are the best thing that has happened to me!"
},
[4] = {
text = "You are the best thing that has happened to me!"
},
}
-- Names
npc.data.FIRST_NAMES = {
female = {
"Kimy",
"Lili",
"Coraline",
"Gloria",
"Mary",
"Mayra",
"Arlene",
"Tita",
"Lola",
"Olivia",
"Katherine",
"Cataline",
"Pinky",
"Kathleen",
"Marilyn",
"Sunshine",
"April",
"Rainy",
"Lulu",
"Sandra",
"Marlene",
"Lany",
"Zoe",
"Jolie",
"Vicky",
"Natalia",
"Evelyn",
"Elizabeth",
"Giselle",
"Jasmine",
"Karla",
"Leslie",
"Karen",
"Dana",
"Merry",
"Helena",
"Rose",
"Thalia",
"Luna",
"Valery",
"Carol",
"Paulette",
"Rosie",
"Leti",
"Sophie",
"Miranda",
"Arianne",
"Lizzy",
"Amy",
"Chole",
"Alisson"
},
male = {
"Jote",
"Luis",
"Charles",
"Joseph",
"Gerald",
"Kiko",
"Michael",
"Alexis",
"Rafa"
}
}
-- Items
-- Favorite items, disliked items lists
npc.FAVORITE_ITEMS = {
female = {},
male = {}
}
-- Define items by phase
-- Female
npc.FAVORITE_ITEMS.female["phase1"] = {
{item = "default:apple",
response = "Hey, I really wanted an apple, thank you!",
hint = "I could really do with an apple..."},
{item = "farming:bread",
response = "Thanks, you didn't have to, but thanks...",
hint = "Some fresh bread would be good!"},
{item = "farming:seed_cotton",
response = "Thank you, I will plant this really soon",
hint = "I would like to have some cotton plants around"},
{item = "farming:seed_wheat",
response = "Thank you! These seeds will make a good wheat plant!",
hint = "I've been thinking I should get wheat seeds"},
{item = "flowers:rose",
response = "Thanks...",
hint = "Red roses make a nice gift!"},
{item = "flowers:geranium",
response = "Oh, for me? Thank you!",
hint = "Blue geraniums are so beautiful"},
{item = "default:clay_lump",
response = "Thanks! Now, what can I do with this...",
hint = "If I had some clay lump, I may do some pottery"},
{item = "mobs:meat_raw",
response = "This will be great for tonight! Thanks",
hint = "A good dinner always have meat"},
{item = "mobs:leather",
response = "Thank you! I needed this leather!",
hint = "If only I could get some leather"},
{item = "default:sapling",
response = "Now I can plant that tree...",
hint = "I really would like an apple tree close by."}
}
npc.FAVORITE_ITEMS.female["phase2"] = {
{item = "farming:cotton",
response = "This is going to be very helpful, thank you!",
hint = "If I just had some cotton lying around..."},
{item = "wool:white",
response = "Thanks, you didn't have to, but thanks...",
hint = "Have you seen a white sheep? I need some wool."}
}
npc.FAVORITE_ITEMS.female["phase3"] = {
{item = "default:apple",
response = "Hey, I really wanted an apple, thank you!",
hint = "I could really do with an apple..."},
{item = "farming:bread",
response = "Thanks, you didn't have to, but thanks...",
hint = "Some fresh bread would be good!"}
}
npc.FAVORITE_ITEMS.female["phase4"] = {
{item = "default:apple",
response = "Hey, I really wanted an apple, thank you!",
hint = "I could really do with an apple..."},
{item = "farming:bread",
response = "Thanks, you didn't have to, but thanks...",
hint = "SOme fresh bread would be good!"}
}
npc.FAVORITE_ITEMS.female["phase5"] = {
{item = "default:apple",
response = "Hey, I really wanted an apple, thank you!",
hint = "I could really do with an apple..."},
{item = "farming:bread",
response = "Thanks, you didn't have to, but thanks...",
hint = "Some fresh bread would be good!"}
}
npc.FAVORITE_ITEMS.female["phase6"] = {
{item = "default:apple",
response = "Hey, I really wanted an apple, thank you!",
hint = "I could really do with an apple..."},
{item = "farming:bread",
response = "Thanks, you didn't have to, but thanks...",
hint = "Some fresh bread would be good!"}
}
-- Male
npc.FAVORITE_ITEMS.male["phase1"] = {
{item = "default:apple",
response = "Hey, I really wanted an apple, thank you!",
hint = "I could really do with an apple..."},
{item = "farming:bread",
response = "Thanks, you didn't have to, but thanks...",
hint = "Some fresh bread would be good!"},
{item = "farming:seed_cotton",
response = "Thank you, I will plant this really soon",
hint = "I would like to have some cotton plants around"},
{item = "farming:seed_wheat",
response = "Thank you! These seeds will make a good wheat plant!",
hint = "I've been thinking I should get wheat seeds"},
{item = "default:wood",
response = "Thanks, I needed this.",
hint = "Some wood without having to cut a tree would be good."},
{item = "default:tree",
response = "Excellent to get that furnace going!",
hint = "I need logs, do you have some?"},
{item = "default:clay_lump",
response = "Thanks! Now, what can I do with this...",
hint = "I wish I had some clay"},
{item = "mobs:meat_raw",
response = "This makes a great meal. Thank you",
hint = "Meat is always great"},
{item = "mobs:leather",
response = "Time to tan some leathers!",
hint = "I have been needing leather these days"},
{item = "default:sapling",
response = "Thanks, I will plant this right now",
hint = "I really would like an apple tree close by."}
}
npc.FAVORITE_ITEMS.male["phase2"] = {
{item = "farming:cotton",
response = "This is going to be very helpful, thank you!",
hint = "If I just had some cotton lying around..."},
{item = "wool:white",
response = "Thanks, you didn't have to, but thanks...",
hint = "Have you seen a white sheep? I need some wool."}
}
npc.FAVORITE_ITEMS.male["phase3"] = {
{item = "default:apple",
response = "Hey, I really wanted an apple, thank you!",
hint = "I could really do with an apple..."},
{item = "farming:bread",
response = "Thanks, you didn't have to, but thanks...",
hint = "Some fresh bread would be good!"}
}
npc.FAVORITE_ITEMS.male["phase4"] = {
{item = "default:apple",
response = "Hey, I really wanted an apple, thank you!",
hint = "I could really do with an apple..."},
{item = "farming:bread",
response = "Thanks, you didn't have to, but thanks...",
hint = "SOme fresh bread would be good!"}
}
npc.FAVORITE_ITEMS.male["phase5"] = {
{item = "default:apple",
response = "Hey, I really wanted an apple, thank you!",
hint = "I could really do with an apple..."},
{item = "farming:bread",
response = "Thanks, you didn't have to, but thanks...",
hint = "Some fresh bread would be good!"}
}
npc.FAVORITE_ITEMS.male["phase6"] = {
{item = "default:apple",
response = "Hey, I really wanted an apple, thank you!",
hint = "I could really do with an apple..."},
{item = "farming:bread",
response = "Thanks, you didn't have to, but thanks...",
hint = "Some fresh bread would be good!"}
}
-- Disliked items
npc.DISLIKED_ITEMS = {
female = {
{item = "default:stone",
response = "Stone, oh... why do you give me this?",
hint = "Why would someone want a stone?"},
{item = "default:cobble",
response = "Cobblestone? No, no, why?",
hint = "Anything worst than stone is cobblestone."}
},
male = {
{item = "default:stone",
response = "Bah! Stone? I don't need this thing!",
hint = "Stones are useless!"},
{item = "default:cobble",
response = "Cobblestone!? Wow, you sure think a lot before giving a gift...",
hint = "If I really hate something, that's cobblestone!"}
}
}