diff --git a/resources/dialogue/dorm_dialogues.json b/resources/dialogue/dorm_dialogues.json index ef4870b..991c6ab 100644 --- a/resources/dialogue/dorm_dialogues.json +++ b/resources/dialogue/dorm_dialogues.json @@ -547,6 +547,9 @@ "speaker": "Алик", "portrait": "resources/dialogue/portrait_student_boy.png", "text": "Да без проблем! Обращайся если что.", + "objectiveComplete" : "ghost_lore.ghost_lore_alik", + "objectiveVisible": "ghost_lore.ghost_lore_alik", + "questUnlock": "ghost_coursework", "next": "end_1" }, { diff --git a/resources/dialogue/uni_interior_dialogues.json b/resources/dialogue/uni_interior_dialogues.json index 9a1901a..fb1c337 100644 --- a/resources/dialogue/uni_interior_dialogues.json +++ b/resources/dialogue/uni_interior_dialogues.json @@ -35,7 +35,8 @@ } ] }, - "id": "knife_dialog002", + { + "id": "knife_dialog002", "start": "line_1", "nodes": [ { @@ -177,6 +178,9 @@ "speaker": "Бекзат", "portrait": "resources/dialogue/portrait_hero_neutral.png", "text": "Хорошо, спасибо!", + "objectiveComplete" : "ghost_lore.ghost_lore_aiperi", + "questUnlock": "ghost_release", + "objectiveVisible" : "ghost_lore.ghost_lore_alik", "next": "end_1" }, { @@ -446,6 +450,7 @@ "speaker": "Бекзат", "portrait": "resources/dialogue/portrait_hero_neutral.png", "text": "Аида Дженибековна, вы помните Бегимай? Она вам курсовую хотела сдать.", + "objectiveComplete" : "ghost_lore.ghost_lore_teacher", "next": "line_2" }, { @@ -480,6 +485,7 @@ "speaker": "Бекзат", "portrait": "resources/dialogue/portrait_hero_neutral.png", "text": "Аида Дженибековна, Бегимай хотела вам курсовую сдать, вы помните?", + "objectiveComplete" : "ghost_lore.ghost_lore_teacher", "next": "line_2" }, { @@ -520,6 +526,7 @@ "speaker": "Бекзат", "portrait": "resources/dialogue/portrait_hero_neutral.png", "text": "Хорошо!", + "objectiveComplete" : "ghost_coursework.ghost_coursework_mark", "next": "end_1" }, { @@ -539,6 +546,7 @@ "speaker": "Бекзат", "portrait": "resources/dialogue/portrait_hero_neutral.png", "text": "Аида Дженибековна, Бегимай хотела вам курсовую сдать, вы помните?", + "objectiveComplete" : "ghost_lore.ghost_lore_teacher", "next": "line_2" }, { @@ -563,6 +571,7 @@ "speaker": "Аида Дженибековна", "portrait": "resources/dialogue/portrait_teacher.png", "text": "Да, я вижу что курсовая написана хорошо, я ставлю ей максимальный балл.", + "objectiveComplete" : "ghost_coursework.ghost_coursework_mark", "next": "line_5" }, { @@ -571,6 +580,7 @@ "speaker": "Аида Дженибековна", "portrait": "resources/dialogue/portrait_teacher.png", "text": "Вот держи зачетку с оценкой.", + "objectiveComplete" : "ghost_release.ghost_release_mark", "next": "line_6" }, { diff --git a/resources/quests/quests.json b/resources/quests/quests.json index be5c7b1..34318ad 100644 --- a/resources/quests/quests.json +++ b/resources/quests/quests.json @@ -11,29 +11,7 @@ { "id": "take_journal", "text": "Взять журнал", "completed": false } ] }, - { - "id": "study_beginning", - "title": "Манасоведение", - "status": "Available", - "autoComplete": true, - "description": "Скоро будет модуль по Манасоведению, а я еще ни разу не ходил на лекции. Сегодня у нас лекция по Манасоведению, надо ее посетить и получить у преподавательницы задание на модуль.", - "objectives": [ - { "id": "study_beginning_lecture", "text": "Посетить лекцию", "completed": false }, - { "id": "study_beginning_task", "text": "Получить задание на модуль", "completed": false } - ] - }, - { - "id": "study_project", - "title": "Эссе манасчи", - "status": "Hidden", - "description": "Преподавательница по манасоведению Аида Джаныбекова дала мне задачу - найти в библиотеке книгу про манасчи Жусупа Мамая, и написать по этой книге эссе. Книгу нельзя выносить из библиотеки, но можно воспользоваться стоящим в библиотеке компьютером, чтобы написать эссе.", - "objectives": [ - { "id": "study_project_book", "text": "Найти книгу", "completed": false }, - { "id": "study_project_write", "text": "Написать эссе", "completed": false }, - { "id": "study_project_give", "text": "Сдать эссе", "completed": false } - ] - }, - { + { "id": "ghost_lore", "title": "Призрак", "status": "Hidden", @@ -67,6 +45,28 @@ { "id": "ghost_release_mark", "text": "Поставить оценку за курсовую в зачетку", "completed": false }, { "id": "ghost_release_show", "text": "Показать зачетку с оценкой призраку", "completed": false } ] + }, + { + "id": "study_beginning", + "title": "Манасоведение", + "status": "Available", + "autoComplete": true, + "description": "Скоро будет модуль по Манасоведению, а я еще ни разу не ходил на лекции. Сегодня у нас лекция по Манасоведению, надо ее посетить и получить у преподавательницы задание на модуль.", + "objectives": [ + { "id": "study_beginning_lecture", "text": "Посетить лекцию", "completed": false }, + { "id": "study_beginning_task", "text": "Получить задание на модуль", "completed": false } + ] + }, + { + "id": "study_project", + "title": "Эссе манасчи", + "status": "Hidden", + "description": "Преподавательница по манасоведению Аида Джаныбекова дала мне задачу - найти в библиотеке книгу про манасчи Жусупа Мамая, и написать по этой книге эссе. Книгу нельзя выносить из библиотеки, но можно воспользоваться стоящим в библиотеке компьютером, чтобы написать эссе.", + "objectives": [ + { "id": "study_project_book", "text": "Найти книгу", "completed": false }, + { "id": "study_project_write", "text": "Написать эссе", "completed": false }, + { "id": "study_project_give", "text": "Сдать эссе", "completed": false } + ] }, { "id": "aiperi_knife", diff --git a/resources/start_uni_exterior.lua b/resources/start_uni_exterior.lua index 0cef056..d809607 100644 --- a/resources/start_uni_exterior.lua +++ b/resources/start_uni_exterior.lua @@ -26,6 +26,7 @@ if player_container_aware == 1 then game_api.start_dialogue("dialog_contaier002") game_api.pickup_item("coursework") game_api.setIntValue("player_has_coursework", 1) +game_api.quest_set_objective_completed("ghost_coursework", "ghost_coursework_find") else game_api.start_dialogue("dialog_contaier001") end diff --git a/resources/start_uni_interior.lua b/resources/start_uni_interior.lua index 52f5efe..00124fc 100644 --- a/resources/start_uni_interior.lua +++ b/resources/start_uni_interior.lua @@ -112,6 +112,7 @@ function on_book_pickup() game_api.pickup_item("book") game_api.deactivate_interactive_object("Book001") player_hold_book = true + game_api.quest_set_objective_completed("study_project", "study_project_book") game_api.start_dialogue("book_dialog003") --game_api.set_trigger_zone_enabled(3, true) end @@ -217,11 +218,14 @@ function on_quest_over() game_api.set_npc_enabled(3, false) game_api.set_npc_enabled(4, false) game_api.set_npc_enabled(5, false) + game_api.quest_set_objective_completed("ghost_release", "ghost_release_show") + end function on_first_ghost_dialog_over() print("on_first_ghost_dialog_over") player_ghost_aware = true + game_api.quest_unlock("ghost_lore") end @@ -444,6 +448,7 @@ print("on_computer_clicked--") print("on_computer_clicked--3") if (player_hold_book) then print("on_computer_clicked--4") + game_api.quest_set_objective_completed("study_project", "study_project_write") game_api.start_cutscene("computer_cutscene001") else print("on_computer_clicked--5") @@ -523,6 +528,7 @@ if player_ghost_aware then game_api.pickup_item("report_card") game_api.deactivate_interactive_object("ReportCard001") game_api.setIntValue("player_has_report_card", 1) + game_api.quest_set_objective_completed("ghost_release", "ghost_release_reportcard") end else game_api.start_dialogue("dialog_report_card001") diff --git a/resources/w/ui/screen_inventory.json b/resources/w/ui/screen_inventory.json index df2c86d..87cef8b 100644 --- a/resources/w/ui/screen_inventory.json +++ b/resources/w/ui/screen_inventory.json @@ -146,6 +146,36 @@ "hover": "resources/w/ui/img/inv/ItemBook001.png", "pressed": "resources/w/ui/img/inv/ItemBook001.png" } + }, + { + "type": "Button", + "name": "item8Button", + "horizontal_gravity": "center", + "vertical_gravity": "center", + "width": 137, + "height": 137, + "x" : -480, + "y" : -110, + "textures": { + "normal": "resources/w/ui/img/inv/ItemBook001.png", + "hover": "resources/w/ui/img/inv/ItemBook001.png", + "pressed": "resources/w/ui/img/inv/ItemBook001.png" + } + }, + { + "type": "Button", + "name": "item9Button", + "horizontal_gravity": "center", + "vertical_gravity": "center", + "width": 137, + "height": 137, + "x" : -380, + "y" : -110, + "textures": { + "normal": "resources/w/ui/img/inv/ItemBook001.png", + "hover": "resources/w/ui/img/inv/ItemBook001.png", + "pressed": "resources/w/ui/img/inv/ItemBook001.png" + } }, { "type": "StaticImage", diff --git a/resources/w/ui/screen_journal.json b/resources/w/ui/screen_journal.json index 8c49f3e..f05f4f9 100644 --- a/resources/w/ui/screen_journal.json +++ b/resources/w/ui/screen_journal.json @@ -406,8 +406,8 @@ { "type": "TextView", "name": "quest_description", - "x": 140.0, - "y": 390.0, + "x": 143.0, + "y": 370.0, "width": 950.0, "height": 300.0, "horizontal_gravity": "center", diff --git a/src/Game.cpp b/src/Game.cpp index 93f54f9..79c986b 100644 --- a/src/Game.cpp +++ b/src/Game.cpp @@ -15,6 +15,7 @@ #endif + #ifdef EMSCRIPTEN #include #endif diff --git a/src/MenuManager.cpp b/src/MenuManager.cpp index ce56d04..7747fb8 100644 --- a/src/MenuManager.cpp +++ b/src/MenuManager.cpp @@ -140,7 +140,7 @@ namespace ZL { itemText = "Inventory (" + std::to_string(items.size()) + " items)\n\n"; for (size_t i = 0; i < items.size(); ++i) { itemText += std::to_string(i + 1) + ". " + items[i].name + "\n"; - const int maxSlots = 7; + const int maxSlots = 9; for (int i = 0; i < maxSlots; ++i) { const std::string btnName = "item" + std::to_string(i + 1) + "Button";