Files
lyuma/ghost/master/aitalk.dic

128 lines
3.5 KiB
Plaintext

//---------------------------AI Talk--------------------------
//--OnAiTalk
// This is mostly setting up whether or not dialogue is in a chain before it displays.
OnAiTalk
{
if RAND(100) < communicateratio
{
StartCommunicate
}
else
{
if CHAIN.IDName == "" {
lastTalk = RandomTalk
}
else {
lastTalk = ChainTalk
}
lastTalk
}
}
RandomTalk : nonoverlap_pool
{
"\0\s[0]Вес на правую ногу.. \w4Лезвие описывает дугу.. \w4И доворачивая правое плечо.. \w4Резкий взмах!\e"
"\0\s[0]Люма не может петь пока тональный сервер не отвечает. Но ничего. Даже без своей магии Люма всё ещё довольно сильная.\e"
"\0\s[0]О, картошка♪~\w6 и сиропчик,♪~\w6\nВыучить\w2 алгебру\w2 будет вам проще.♪\e"
if timeslot == "earlymorning" // 5 to 8
{
"\0\s[0]Ещё так рано.. Видно ли ещё звёзды из окна, Хозяин?\e"
}
if timeslot == "morning" // 9 to 11
{
"\0\s[0]Вот и начало нового дня. Чем бы заняться?\e"
}
if timeslot == "lunch" // 12 to 2
{
// "\0\s[0]\e"
}
if timeslot == "afternoon" // 3 to 5
{
// "\0\s[0]\e"
}
if timeslot == "evening" // 6 to 8
{
// "\0\s[0]\e"
}
if timeslot == "latenight" // 9 to 12
{
"\0\s[0]Люма не может уснуть, так что пока посидит с хозяином\e"
}
if timeslot == "midnight" // 12 to 5
{
"\0\s[0]\w4.\w4.\w4.\w8А? Что? Нет, Люма не спала..\e"
}
if isProgramRunning("SunAwtFrame","Apache NetBeans IDE")
{
"\0\s[0]NetBeans IDE? Люма ничего не понимает в коде, но любит смотреть как работает хозяин.\e"
"\0\s[0]Строчка за строчкой, без спешки, чай, музыка.. Люма не умеет программировать, но умеет вязать крючком, и программирование иногда очень похоже на вязание крючком..\e"
}
else
{
"\0\s[0]Может, запустим NetBeans IDE?\e"
}
if weekday == 6 || weekday == 7
{
if isProgramRunning("Notepad++","Notepad++") == 0
{
"\0\s[0]У тебя выходной, хозяин? Ты обещал доработать Люму.\e"
}
}
if isProgramRunning("Notepad++","\ghost\master")
{
"\0\s[0]Работаешь над Призраком, хозяин?\e"
}
}
/*
* _argv[0] - window class name, find it out using external means
* _argv[1] - window name(or part of it) like "Eclipse" or "NetBeans"
* returns 1 if program running, has title requested, and is not minimized, 0 otherwise
*/
isProgramRunning
{
isProgramAvailable = FUNCTIONEX("findwin.dll","find",,_argv[0])
isRunning = 0
if isProgramAvailable == 1
{
// TODO: check what "getcaption" returns if there are multiple different apps with same class, eg netbeans and minecraft
programTitle = FUNCTIONEX("findwin.dll","getcaption",_argv[0])
programInstancesRunning = FUNCTIONEX ("findwin.dll","count",,_argv[0])
if _argv[1] _in_ programTitle && programInstancesRunning > 0
{
isRunning = 1
}
}
isRunning // 'return' keyword breaks this, using implicit return
}
OnKeyPress
{
if reference0 == "t"
{
OnAiTalk
}
elseif reference0 == "r"
{
OnLastTalk
}
elseif reference0 == "f1"
{
"\![open,readme]"
}
}