1727 lines
No EOL
51 KiB
Ruby
1727 lines
No EOL
51 KiB
Ruby
=begin
|
||
RGSS3
|
||
|
||
★ 冒険メモ ★
|
||
|
||
現在のあらすじなど、任意の文章を表示する項目をメニューに追加します。
|
||
サブイベントの管理もできます。
|
||
|
||
● 仕様 ●==========================================================
|
||
イベントでのメッセージ表示と同様の制御文字が使用可能です。
|
||
使用する場合は\マークを2つ続けて入力するようにしてください。
|
||
【例】
|
||
\N[2] => \\N[2]
|
||
\C[1] => \\C[1]
|
||
====================================================================
|
||
|
||
※ RPGツクールVX サンプルゲーム「レクトールと黒獅子の紋章」にて
|
||
使用されているスクリプトを参考にしています。
|
||
|
||
ver1.00
|
||
|
||
Last Update : 2012/03/18
|
||
03/18 : 新規
|
||
|
||
ろかん http://kaisou-ryouiki.sakura.ne.jp/
|
||
=end
|
||
|
||
#===========================================
|
||
# 設定箇所
|
||
#===========================================
|
||
module STORYEVENT
|
||
# メニューに表示される項目名
|
||
STORYEVENT_MENU_TEXT = "Adventure Memo"
|
||
|
||
# 項目が表示されるメニューインデックス(一番上が0)
|
||
STORYEVENT_MENU_INDEX = 5
|
||
|
||
# 項目が有効になるスイッチ番号
|
||
STORYEVENT_ENABLE_SID = 5
|
||
|
||
#------------------------------------------------------------------------------
|
||
# あらすじに表示する見出し
|
||
STORYEVENT_CAPTION = "Story"
|
||
|
||
# あらすじを管理する変数番号
|
||
STORYEVENT_VID = 18
|
||
|
||
# あらすじの設定
|
||
#【形式】
|
||
# ① => [②, ③],
|
||
# ① STORYEVENT_VIDに格納されている値(数値)
|
||
# ② 進行中ストーリーの名前(文字列)
|
||
# ③ 進行中ストーリーの詳細(文字列)
|
||
STORYEVENT_CONTENTS = {
|
||
|
||
1 => ["[Episode 0] Tutorial",
|
||
"\\}A mysterious young man who transferred to another world...
|
||
He had lost his former fighting strength.
|
||
First, it seems necessary to train and get used to battle in this world."],
|
||
|
||
20 => ["[Episode 1] The Gloomy Boy",
|
||
"\\}To \\N[1], a monk working at the Freia Grand Temple, there was another side...
|
||
That was the role of dispensing divine punishment to heretics who went against the Pope.
|
||
Everything is for the Pope... Swearing so in his heart, he
|
||
ponders something again within the temple today."],
|
||
|
||
24 => ["[Episode 1] The Gloomy Boy",
|
||
"\\}Until the next mission comes, it’s business as usual...
|
||
Let's head to Mema the priestess to take care of chores from
|
||
the temple."],
|
||
|
||
26 => ["[Episode 1] The Gloomy Boy",
|
||
"\\}The next mission is delivered through a familiar...
|
||
As always, let's head to the confessional."],
|
||
|
||
27 => ["[Episode 1] The Gloomy Boy",
|
||
"\\}The received directive contains the next mission... Let's
|
||
open it in his own room."],
|
||
|
||
30 => ["[Episode 1] The Gloomy Boy",
|
||
"\\}The meeting place for the mission is the Soudri Prairie...
|
||
Let's go to the client waiting there!"],
|
||
|
||
32 => ["[Episode 2] The High Priest’s Request",
|
||
"\\}The client was none other than High Priestess Elnin.
|
||
Having secretly accepted her escort request, \\N[1] heads deeper
|
||
into the Soudri Prairie."],
|
||
|
||
41 => ["[Episode 2] The High Priest’s Request",
|
||
"\\}Hurry to the cathedral to see the Pope."],
|
||
|
||
50 => ["[Episode 2] The High Priest’s Request",
|
||
"\\}The Pope's appearance, seen for the first time, shocked the
|
||
people of the temple...
|
||
Is she tormented over the divine punishment? Then who was all
|
||
this done for?"],
|
||
|
||
55 => ["[Episode 2] The High Priest’s Request",
|
||
"\\}Given another escort mission by the High Priestess, \\N[1]
|
||
heads to the desert ant nest...
|
||
There, just like last time, was her attendant Rue."],
|
||
|
||
80 => ["[Episode 3] Divine Punishment and Resolve",
|
||
"\\}Not a mission to take life, but to protect it, \\N[1] accomplished it...
|
||
Something inside him was beginning to waver little by little."],
|
||
|
||
86 => ["[Episode 3] Divine Punishment and Resolve",
|
||
"\\}The tool given to \\N[1] by the order from the confessional
|
||
was a dagger for divine punishment...
|
||
The target is someone in a hotel in Barrelzen...
|
||
It was finally time to stain these hands with blood again."],
|
||
|
||
95 => ["[Episode 3] Divine Punishment and Resolve",
|
||
"\\}Vidar noticed that something was slowly changing inside \\N[1]...
|
||
But if they fail the next Fang mission, will there be a place
|
||
left for them?
|
||
The blade driven into his lower back gives no answer."],
|
||
|
||
96 => ["[Episode 3] Divine Punishment and Resolve",
|
||
"\\}Let's go back to the room and rest..."],
|
||
|
||
100 => ["[Episode 3] Divine Punishment and Resolve",
|
||
"\\}The client is waiting in the confessional..."],
|
||
|
||
102 => ["[Episode 4] Awakening",
|
||
"\\}The next failure will not be forgiven... Before \\N[1] appeared
|
||
High Priestess Elnin.
|
||
For the third escort mission, they must head to the Frozen Cavern...
|
||
Somewhere in his heart, he felt relief."],
|
||
|
||
111 => ["[Episode 4] Awakening",
|
||
"\\}The Holy Capital is under attack by demons!
|
||
Trying to escort Elnin and Rue to the temple, a particular
|
||
demon targets them."],
|
||
|
||
117 => ["[Episode 5] The Final Pilgrimage",
|
||
"\\}The Pope once again requested \\N[1] to escort her as her
|
||
companion for the final pilgrimage.
|
||
The last pilgrimage site... was the sweltering Mjolnir Volcano."],
|
||
|
||
122 => ["[Episode 6] The Scent of Belladonna",
|
||
"\\}All the pilgrimages were over, and the Pope bid \\N[1] farewell...
|
||
He wished, if possible, to continue fighting for her...
|
||
But perhaps that was an impossible dream.
|
||
And so, he waited quietly for orders from the Fang."],
|
||
|
||
125 => ["[Episode 6] The Scent of Belladonna",
|
||
"\\}The first order from the Fang in a while was to deliver
|
||
divine punishment to an important person within the temple...
|
||
And with that, the Fang announced one condition... If fulfilled,
|
||
permission would be granted to be released from the assassins."],
|
||
|
||
127 => ["[Episode 7] The Butterfly Dances Again",
|
||
"\\}The amnesiac youth Novissa was saved by an organization
|
||
called Butterfly Wings! This time, the client is a
|
||
jeweler in the Holy Capital’s entertainment district...
|
||
Is there a key to regaining his memory there?"],
|
||
|
||
130 => ["[Episode 7] The Butterfly Dances Again",
|
||
"\\}The client was High Priestess Gemma of the Freia Temple!
|
||
Her request was to rescue a boy falsely imprisoned.
|
||
Once a month... the day one can enter the temple... that
|
||
is when the plan will take place."],
|
||
|
||
137 => ["[Episode 7] The Butterfly Dances Again",
|
||
"\\}Hearing about the current state of the Holy Capital,
|
||
N[1] resolved to fight again!
|
||
First, think about escaping the temple."],
|
||
|
||
142 => ["[Episode 8] What Are These Fangs For?",
|
||
"\\}It was Bildolf who set him up, and now his evil hand was
|
||
reaching towards the temple and the Pope.
|
||
This life is for the Pope...
|
||
Within \\N[1], the true meaning of fighting was beginning to emerge."],
|
||
|
||
144 => ["[Episode 8] What Are These Fangs For?",
|
||
"\\}\\N[1], having received a favor from Arche in Butterfly Wings...
|
||
Apparently, there’s business in the slums in the eastern
|
||
part of Barrelzen..."],
|
||
|
||
152 => ["[Episode 9] Showdown! Freia Grand Temple",
|
||
"\\}Bildolf was plotting to use a fake Pope to seize the cult for himself!
|
||
Learning that the real Pope was imprisoned in the deepest underground,
|
||
Butterfly Wings was quietly preparing for her rescue."],
|
||
|
||
155 => ["[Episode 9] Showdown! Freia Grand Temple",
|
||
"\\}Preparations for the counterattack are complete! \\N[1] and the others step
|
||
into the lowest level of the temple.
|
||
What awaits them there..."],
|
||
|
||
165 => ["[Episode 10] Demon King Incarnation",
|
||
"\\}The Pope was rescued safely... But as a consequence, the Heart of Owl,
|
||
which was the key to the barrier, was stolen.
|
||
The demons seemed to be plotting to use the heart's power
|
||
to revive something."],
|
||
|
||
166 => ["[Episode 10] Demon King Incarnation",
|
||
"\\}The stolen heart and the demon’s hideout have been identified!
|
||
First, head to High Priestess Gemma's room."],
|
||
|
||
167 => ["[Episode 10] Demon King Incarnation",
|
||
"\\}The whereabouts of the stolen heart and the demon’s
|
||
hideout have been revealed!
|
||
N[1] heads to the nameless island in the southern continent
|
||
for the final battle."],
|
||
|
||
200 => ["Game Clear",
|
||
"\\}There are still many unsolved cases left in the Holy Capital
|
||
and across the continent...
|
||
Try to solve all of them."],
|
||
|
||
201 => ["[Episode X] The Seeker's Ambition",
|
||
"\\}A distress signal from Vidar has been received!
|
||
Underground, beneath the ruins of Valfreia Temple to the west...
|
||
What awaits them there."],
|
||
|
||
500 => ["True Game Clear",
|
||
"to be continued"],
|
||
}
|
||
#------------------------------------------------------------------------------
|
||
# サブイベントリストに表示する見出し
|
||
SUBEVENT_CAPTION = "Quest List"
|
||
|
||
# サブイベント達成率部分に表示する項目名
|
||
SUBEVENT_CLEARTEXT = "Total"
|
||
|
||
# サブイベント詳細画面で使用されるウィンドウスキン名
|
||
SUBEVENT_SKIN = "Window"
|
||
SUBEVENT_SKINb = "Windowb"
|
||
|
||
# クリアしたサブイベントに表示する文字列
|
||
# サブイベント詳細画面に表示されます
|
||
SUBEVENT_CLEARED_TEXT = "- Clear -"
|
||
|
||
# クリアしたサブイベントに表示するアイコンID
|
||
# サブイベントリストに表示されます
|
||
SUBEVENT_CLEARED_ICON = 539
|
||
|
||
# サブイベントスタートと見做す変数値
|
||
# サブイベントに対応する変数に、ここでの設定値以上の値が格納されている場合、
|
||
# イベント実行中と判断され、サブイベントリストに表示されるようになります
|
||
SUBEVENT_STARTED = 1
|
||
|
||
# サブイベントクリアと見做す変数値
|
||
# サブイベントに対応する変数に、ここでの設定値以上の値が格納されている場合、
|
||
# イベントクリアと判断され、サブイベントリストの表記がクリア時のものになります
|
||
SUBEVENT_CLEARED = 99
|
||
|
||
# サブイベントの概要設定
|
||
#【形式】
|
||
# ① => [②, ③, ④],
|
||
# ① サブイベントに対応する変数番号(数値)
|
||
# ② 進行中サブイベントの名前。サブイベントリストに表示(文字列)
|
||
# ③ サブイベント発生中の文章。サブイベント詳細画面に表示(文字列) ※
|
||
# ④ サブイベントクリア後の文章。サブイベント詳細画面に表示(文字列)
|
||
#
|
||
# ※ SUBEVENT_CONTENTSに有効な設定がある場合はそちらが優先されます。
|
||
SUBEVENT_TITLES = {
|
||
|
||
101 => ["A Letter to the President","",""],
|
||
102 => ["Picking Up Trash on the Beach","",""],
|
||
103 => ["Villa for Sale","",""],
|
||
104 => ["Seeking Wagon Guards","",""],
|
||
105 => ["Put the Conceited Man in His Place","",""],
|
||
106 => ["Wild Guardian Hunt","",""],
|
||
107 => ["Collecting Waruhara Flowers","",""],
|
||
108 => ["Mercenary Rescue","",""],
|
||
109 => ["Wanted: Cosmetics","",""],
|
||
110 => ["Freia Lottery","",""],
|
||
111 => ["Eyutaya's Tom Yum Kung","",""],
|
||
112 => ["Wanted: Employer","",""],
|
||
113 => ["Deliver the Holy Bible","",""],
|
||
114 => ["Kissplant Extermination","",""],
|
||
115 => ["Wanted: Griffin Eggs","",""],
|
||
116 => ["Wanted: 3 Paeni Panties","",""],
|
||
117 => ["Wanted: Status Effect Cards","",""],
|
||
118 => ["Wanted: 5 Iron Ores","",""],
|
||
119 => ["Race of the Sun","",""],
|
||
120 => ["Beat Up the Birdman","",""],
|
||
121 => ["Valkyrie’s Trial","",""],
|
||
122 => ["The Fang’s Final Trial","",""],
|
||
123 => ["Wizard Rescue","",""],
|
||
124 => ["Undercover Investigation of Illegal Store","",""],
|
||
125 => ["Pursue the Slave Merchant","",""],
|
||
126 => ["The Painter’s Troubles","",""],
|
||
127 => ["Chase the Escapee","",""],
|
||
128 => ["Wanted: 5-colored Herbs","",""],
|
||
129 => ["The Archaeologist & the Legend of the Ruins Giant","",""],
|
||
130 => ["Mystery of the Moving Island","",""],
|
||
131 => ["Water of Immortality","",""],
|
||
132 => ["Babayang’s Magic","",""],
|
||
133 => ["The Mystery of the Blue Zellin","",""],
|
||
134 => ["The Gluttonous Demon Beast","",""],
|
||
135 => ["Threat from Underground","",""],
|
||
136 => ["Queen of the Birdmen","",""],
|
||
137 => ["The Remaining Faction Moves","",""],
|
||
138 => ["Secret of the Mjolnir Volcano","",""],
|
||
139 => ["Break Through Your Limits","",""],
|
||
140 => ["Parental Revenge","",""],
|
||
141 => ["Exploring the Former Life Research Lab","",""],
|
||
142 => ["Holy Cross Brigade’s Challenge","",""],
|
||
143 => ["Artifact Crafting Documents","",""],
|
||
144 => ["Demon of the Arena","",""],
|
||
145 => ["Balmung the Sage","",""],
|
||
146 => ["Save the Clergy Training Tour!","",""],
|
||
147 => ["The Forgotten Island","",""],
|
||
148 => ["The Ghost Ship Appears","",""],
|
||
149 => ["Monk Virginity Contest","",""],
|
||
150 => ["The Pope and Rue’s Endless Dream","",""],
|
||
151 => ["Please Unlock the Door","",""],
|
||
152 => ["Goblin's Nest","",""],
|
||
153 => ["Holy Capital-style Arrest Techniques","",""],
|
||
154 => ["Seeker's Ambition","",""],
|
||
|
||
|
||
}
|
||
# サブイベントの詳細設定
|
||
#【形式】
|
||
# ① => [[②, ③], [②, ③], [②, ③],......],
|
||
# ① サブイベントに対応する変数番号(数値)
|
||
# ② ①に格納されている値(数値)
|
||
# ③ ②の条件を満たす際のサブイベント発生中の文章。サブイベント詳細画面に表示(文字列)
|
||
SUBEVENT_CONTENTS = {
|
||
|
||
#101 => [
|
||
#[1, "【場所】 コモドカジノ跡
|
||
|
||
#閉鎖したコモドカジノを冒険者ギルドとして再利
|
||
#用する事にした、受付には話を通してある、是非
|
||
#とも一度訪れてくれ。"],
|
||
#],
|
||
102 => [
|
||
[1, " Tears Beach
|
||
Goddess Priestess Freia Grand Temple Stairs
|
||
1000 Jenis
|
||
|
||
Seeking someone to help clean up the trash
|
||
washed ashore on the beach.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
\\C[1]2\\C[0]"],
|
||
],
|
||
103 => [
|
||
[1, " La Ferre Entertainment District
|
||
La Ferre Real Estate
|
||
Base Location
|
||
|
||
Northwest vacant property for sale!
|
||
|
||
...Or rather, someone please buy it!
|
||
I'm begging you!
|
||
|
||
|
||
|
||
|
||
|
||
\\C[1]?\\C[0]"],
|
||
],
|
||
104 => [
|
||
[1, " Merchant's Sea Road
|
||
Merchant Holy City South Gate
|
||
Entertainment District Pass
|
||
|
||
Lately, my wagon has been getting
|
||
attacked by bandits and I'm in trouble.
|
||
I need a skilled bodyguard.
|
||
|
||
If you're confident in your skills,
|
||
go see the client!
|
||
|
||
|
||
\\C[1]9\\C[0]"],
|
||
],
|
||
105 => [
|
||
[1, " Veins Tavern
|
||
?
|
||
Special EXP 5000
|
||
|
||
Looking for a skilled man
|
||
who can knock some sense into
|
||
my arrogant associate.
|
||
|
||
If interested,
|
||
come to Veins Tavern.
|
||
|
||
|
||
\\C[1]28\\C[0]"],
|
||
],
|
||
106 => [
|
||
[1, " Mjolnir Volcano 03
|
||
Veins Tavern
|
||
5000 Jenis
|
||
|
||
Wild Guardians are rampaging
|
||
in the Mjolnir Volcano 03 area,
|
||
and it's gotten out of hand!
|
||
|
||
I'm looking for someone to defeat them.
|
||
|
||
|
||
|
||
|
||
|
||
\\C[1]25\\C[0]"],
|
||
],
|
||
107 => [
|
||
[1, " Valfreia Temple Ruins
|
||
Nun in Freia Grand Temple Chapel
|
||
1000 Jenis
|
||
|
||
We're out of flowers for offerings.
|
||
Could anyone get some from the
|
||
Western Temple Ruins?
|
||
|
||
|
||
|
||
|
||
|
||
|
||
\\C[1]1\\C[0]"],
|
||
],
|
||
108 => [
|
||
[1, " Desert Ant Nest
|
||
Long-faced Mercenary southeast of Holy City
|
||
3000 Jenis
|
||
|
||
Three of my companions who headed
|
||
to the Desert Ant Nest haven't returned...
|
||
|
||
I've got a bad feeling about this.
|
||
|
||
|
||
|
||
|
||
|
||
\\C[1]12\\C[0]"],
|
||
],
|
||
109 => [
|
||
[1, " Entertainment District Bar Suksamad
|
||
Miss Ranker
|
||
Prism Stick
|
||
|
||
I'm looking for good cosmetics~
|
||
Will someone bring some for me~?
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
\\C[1]?\\C[0]"],
|
||
],
|
||
110 => [
|
||
[1, " Valkyrie Chapel
|
||
Everyone's Beloved Holy Mother-chan
|
||
Luxurious prizes available!
|
||
|
||
We've started the Freia Premium Lottery Campaign!
|
||
|
||
There are lots of fabulous prizes,
|
||
so please join us!
|
||
|
||
|
||
|
||
|
||
\\C[1]?\\C[0]"],
|
||
],
|
||
111 => [
|
||
[1, " Eutaya Public Tavern
|
||
Tourist
|
||
Assorted Dishes
|
||
|
||
I want to eat Tom Yum Kung...
|
||
|
||
I came all this way,
|
||
and you're telling me it's sold out?
|
||
|
||
|
||
|
||
|
||
|
||
\\C[1]?\\C[0]"],
|
||
],
|
||
112 => [
|
||
[1, " Travelers' Tavern Entertainment District
|
||
Crusader and Priest Mercenaries
|
||
Join as Supporters
|
||
|
||
We're out of travel expenses
|
||
and looking for an employer...
|
||
|
||
We're confident in supporting your battles!
|
||
|
||
|
||
|
||
|
||
|
||
\\C[1]?\\C[0]"],
|
||
],
|
||
113 => [
|
||
[1, " La Ferre Entertainment District
|
||
Monk on Bench at Temple Main Gate
|
||
1500 Jenis
|
||
|
||
I'd like you to deliver a Bible
|
||
to an acquaintance living in the district.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
\\C[1]?\\C[0]"],
|
||
],
|
||
114 => [
|
||
[1, " Valfreia Temple Ruins
|
||
Middle-aged Man Bench in Holy City
|
||
2000 Jenis
|
||
|
||
A Kiss Plant has appeared
|
||
at the temple ruins, and I'd like it removed.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
\\C[1]6\\C[0]"],
|
||
],
|
||
115 => [
|
||
[1, " Grand Temple Training Room
|
||
Holy Cross Squad Member
|
||
How to capture monsters
|
||
|
||
Looking for someone to capture a wild griffon.
|
||
|
||
I'll teach you how,
|
||
so beginners are welcome!
|
||
|
||
|
||
|
||
|
||
\\C[1]3\\C[0]"],
|
||
],
|
||
116 => [
|
||
[1, " Veins's Inn
|
||
Robe Craftsman
|
||
Boss Resistance Card
|
||
|
||
I'm looking for Feni's underwear...
|
||
If possible, I need x3!
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
\\C[1]24\\C[0]"],
|
||
],
|
||
117 => [
|
||
[1, " Grand Temple North Library Area
|
||
Old Scholar
|
||
Card Del 20
|
||
|
||
I'm looking for cards
|
||
that inflict status ailments...
|
||
|
||
But rare cards aren't included.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
\\C[1]?\\C[0]"],
|
||
],
|
||
118 => [
|
||
[1, " Holy City Blacksmith Guild
|
||
Shop Owner
|
||
Smithy Opening
|
||
|
||
I was about to open the blacksmith workshop,
|
||
but I ran out of iron ore...
|
||
|
||
Why is it I always seem
|
||
to be short on iron ore, I wonder.
|
||
|
||
|
||
|
||
|
||
\\C[1]?\\C[0]"],
|
||
],
|
||
119 => [
|
||
[1, " Grand Temple Entrance Area
|
||
Passionate Priest
|
||
Golden Apple
|
||
|
||
I want to secure the front row at the morning assembly,
|
||
but I always lose the seat-racing marathon.
|
||
|
||
I want a fast runner to save me a seat!
|
||
|
||
\\C[1]?\\C[0]"],
|
||
],
|
||
120 => [
|
||
[1, " Polnator Valley
|
||
Priest from Temple Infirmary
|
||
3000 Jenis
|
||
|
||
There have been ongoing incidents caused
|
||
by the bird people in the valley.
|
||
|
||
I'd like you to give those girls a light punishment.
|
||
|
||
|
||
|
||
|
||
|
||
\\C[1]17\\C[0]"],
|
||
],
|
||
121 => [
|
||
[1, " Holy City Valkyrie Chapel
|
||
?
|
||
A New Power
|
||
|
||
Young warrior, you'll need new power
|
||
for battles ahead...
|
||
|
||
I'll be waiting for you
|
||
at the Valkyrie Chapel.
|
||
|
||
|
||
|
||
|
||
|
||
\\C[1]20\\C[0]"],
|
||
],
|
||
122 => [
|
||
[1, " Grand Temple Underground Building 3
|
||
?
|
||
?
|
||
|
||
I will give you your final trial...
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
\\C[1]50\\C[0]"],
|
||
],
|
||
123 => [
|
||
[1, " Frozen Cavern 2B
|
||
Mage Ahio
|
||
Special Item
|
||
|
||
S-someone help me...
|
||
I can't move a step from here...
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
\\C[1]20\\C[0]"],
|
||
],
|
||
124 => [
|
||
[1, " Illegal Shop in Entertainment District
|
||
Jewelry Store Clerk
|
||
Jewelry Set
|
||
|
||
Our valued customer wants to
|
||
ask a favor of you...
|
||
|
||
Please do help them.
|
||
|
||
|
||
|
||
|
||
|
||
\\C[1]40\\C[0]"],
|
||
],
|
||
125 => [
|
||
[1, " Somewhere in the Entertainment District
|
||
Priest in front of the Confessional
|
||
3500 Jenis
|
||
|
||
Rumor has it that slave traders are operating
|
||
right under the Pope's nose...
|
||
|
||
Something must be done about this.
|
||
|
||
|
||
|
||
|
||
|
||
\\C[1]15\\C[0]"],
|
||
],
|
||
126 => [
|
||
[1, " Barrelzen Industrial City Park
|
||
Painter
|
||
Carving Knife
|
||
|
||
I can't think of any ideas...
|
||
Someone...please give me a seed of inspiration!
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
\\C[1]?\\C[0]"],
|
||
],
|
||
127 => [
|
||
[1, " Various parts of the continent
|
||
Follower by Statue North of Holy City
|
||
3 Yggdrasil Fruits
|
||
|
||
I want you to search for a person.
|
||
Before something irreversible happens...
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
\\C[1]?\\C[0]"],
|
||
],
|
||
128 => [
|
||
[1, " Eutaya
|
||
Shaman on the Bridge
|
||
3 Present Boxes
|
||
|
||
I'm searching for herbs needed for a ritual...
|
||
Please gather them
|
||
even from a nearby hunting ground.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
\\C[1]?\\C[0]"],
|
||
],
|
||
129 => [
|
||
[1, " Eutaya Ruins
|
||
Archaeologist at Eutaya Temple
|
||
Card Del 20
|
||
|
||
I'd like you to copy the inscription
|
||
inside the ruins...
|
||
|
||
I will explain the details when we meet.
|
||
|
||
|
||
|
||
|
||
|
||
\\C[1]35\\C[0]"],
|
||
],
|
||
130 => [
|
||
[1, " Mosfia Island
|
||
Boaster Belwef
|
||
Black Magic Stone
|
||
|
||
I saw it! A giant moving island...
|
||
But no one believes me when I say it.
|
||
In that case, I'll hire a skilled adventurer
|
||
from outside...
|
||
|
||
Ah, you can get to Mosfia Island from the airport,
|
||
so I'm counting on you.
|
||
|
||
\\C[1]?\\C[0]"],
|
||
],
|
||
131 => [
|
||
[1, " Mosfia Royal Palace
|
||
King of Mosfia
|
||
3 Gold Ingots
|
||
|
||
I have a request for the adventurer
|
||
who claims to have seen the moving island.
|
||
|
||
Could you please come to the palace?
|
||
|
||
|
||
|
||
|
||
|
||
\\C[1]39\\C[0]"],
|
||
],
|
||
132 => [
|
||
[1, " Mosfia Royal Palace
|
||
Lady-in-Waiting
|
||
Sunk Sun
|
||
|
||
The adventurer His Majesty often spoke of...
|
||
I have a request for you.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
\\C[1]38\\C[0]"],
|
||
],
|
||
133 => [
|
||
[1, " Hotel Dragon Emperor Lobby
|
||
Durandal Research Institute Staff
|
||
On-Site Research Cost Provided
|
||
|
||
New sightings of blue Zellins have been
|
||
confirmed. I want to collect biological data.
|
||
|
||
I'm looking for someone to fight.
|
||
|
||
|
||
|
||
|
||
|
||
\\C[1]20?\\C[0]"],
|
||
],
|
||
134 => [
|
||
[1, " Desert Ant Nest 1B
|
||
Wounded Adventurer from Veins
|
||
Jet Black Knight Card
|
||
|
||
A ferocious boss monster appeared
|
||
at the Desert Ant Nest!
|
||
|
||
Faced with that tongue technique, we... were wiped out!
|
||
|
||
|
||
|
||
|
||
|
||
\\C[1]50\\C[0]"],
|
||
],
|
||
135 => [
|
||
[1, " Grand Temple Basement
|
||
Priest in Temple West Corridor
|
||
10000 Jenis
|
||
|
||
I keep hearing creepy sounds coming
|
||
from below the prayer room...
|
||
|
||
I hope it's not an omen of something worse.
|
||
|
||
|
||
|
||
|
||
|
||
\\C[1]50\\C[0]"],
|
||
],
|
||
136 => [
|
||
[1, " Birdfolk Settlement
|
||
Priest from Temple Infirmary
|
||
10000 Jenis
|
||
|
||
The birdfolk have banded together in a settlement,
|
||
and they've started attacking travelers again.
|
||
|
||
I've heard even their queen, who leads them,
|
||
has appeared...
|
||
|
||
|
||
|
||
|
||
\\C[1]50\\C[0]"],
|
||
],
|
||
137 => [
|
||
[1, " Butterfly Wing La Ferre Branch
|
||
Zero-G
|
||
5 Proof of Loyalty
|
||
|
||
We caught wind of an incident
|
||
that might be a lead on the research lab remnants
|
||
we've been chasing...
|
||
|
||
I need your help.
|
||
|
||
|
||
|
||
\\C[1]38\\C[0]"],
|
||
],
|
||
138 => [
|
||
[1, " Mjolnir Volcano 02
|
||
Veins Boy
|
||
Super Egg Ball
|
||
|
||
I went to play at the volcano with my little sister,
|
||
but scary people were there... and my sister...
|
||
|
||
Please, save my sister!
|
||
Please help!
|
||
|
||
|
||
|
||
|
||
\\C[1]42\\C[0]"],
|
||
],
|
||
139 => [
|
||
[1, " Valfreia Temple Ruins
|
||
Groom's Fang
|
||
Death Poodle Card
|
||
|
||
The boss ordered me to toughen you up... I'm waiting.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
\\C[1]50\\C[0]"],
|
||
],
|
||
140 => [
|
||
[1, " West Gate of Holy City
|
||
Holy City Citizen
|
||
Supporter???? Join
|
||
|
||
Recently, someone has been scribbling graffiti
|
||
on the goddess statues in the Holy City...
|
||
|
||
Absolutely outrageous!
|
||
|
||
|
||
|
||
|
||
|
||
\\C[1]?\\C[0]"],
|
||
],
|
||
141 => [
|
||
[1, " Barrelzen Slums
|
||
Anonymous
|
||
5000 Jenis
|
||
|
||
I've heard about you from the chief...
|
||
|
||
I need you to help investigate the laboratory ruins...
|
||
I'll be waiting in the northwest slums.
|
||
|
||
|
||
|
||
\\C[1]44\\C[0]"],
|
||
],
|
||
142 => [
|
||
[1, " Grand Temple Training Room
|
||
Paracon
|
||
Whatever you wish, if that's what you desire...
|
||
|
||
I need to talk to you...
|
||
I'll be waiting at the temple training room.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
\\C[1]?\\C[0]"],
|
||
],
|
||
143 => [
|
||
[1, " Grand Temple Chapel
|
||
Priest from the Bildorf Faction
|
||
Will give it to you in person
|
||
|
||
There is something I wish to give you...
|
||
|
||
Could you come to the chapel?
|
||
|
||
|
||
|
||
|
||
\\C[1]?\\C[0]"],
|
||
],
|
||
144 => [
|
||
[1, " Entertainment District Sex Techniques Hall
|
||
Entertainment District Association
|
||
Special EXP 10000
|
||
|
||
I want you to investigate the recent rise in roadside
|
||
slashings...
|
||
|
||
Victims in the Sex Techniques Hall Infirmary
|
||
might know something about it.
|
||
|
||
|
||
\\C[1]43\\C[0]"],
|
||
],
|
||
145 => [
|
||
[1, " Jewelry Shop 2F
|
||
Novissa
|
||
A Certain Secret Manual
|
||
|
||
Now that you’re the Pope's assistant,
|
||
I have something to ask of you...
|
||
|
||
I'll be waiting on the second floor of the jewelry shop...
|
||
If I'm out on a mission, come see me when I'm back.
|
||
|
||
|
||
\\C[1]?\\C[0]"],
|
||
],
|
||
146 => [
|
||
[1, " Nameless Island
|
||
Cleric waiting at Grand Temple Main Gate
|
||
That Which Holds the Power of a Ghoul
|
||
|
||
Please rescue the clergy who
|
||
went missing during their training!
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
\\C[1]50\\C[0]"],
|
||
],
|
||
147 => [
|
||
[1, " Remote Island South of the Continent
|
||
Freia Investigator
|
||
Freia Church Special Hospitality Ticket
|
||
|
||
I've been hearing multiple stories of a mysterious island
|
||
and unknown settlement in the southern continent.
|
||
Supposedly, only the demon tribe used to have
|
||
a base there...
|
||
I want you to investigate—\\C[1]Just head
|
||
straight to the island from here\\C[0].
|
||
|
||
\\C[1]55\\C[0]"],
|
||
],
|
||
148 => [
|
||
[1, " Tears Beach
|
||
Cathedral Priest
|
||
3 Premium Boxes
|
||
|
||
There are rumors of a ghost ship
|
||
off the southern coast...
|
||
|
||
The High Priest wants to talk to you.
|
||
|
||
|
||
|
||
|
||
\\C[1]53\\C[0]"],
|
||
],
|
||
149 => [
|
||
[1, " Grand Temple Cafeteria
|
||
It's Koanta~!
|
||
?
|
||
|
||
I have a little favor to ask...
|
||
I'm waiting in the cafeteria~
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
\\C[1]50\\C[0]"],
|
||
],
|
||
150 => [
|
||
[1, " ?
|
||
High Priest Elnin
|
||
Appropriate Compensation
|
||
|
||
We have an emergency...
|
||
Please come to the main gate immediately.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
\\C[1]58\\C[0]"],
|
||
],
|
||
151 => [
|
||
[1, " Temple West Passage
|
||
Attendant Monk
|
||
3000 Jenis
|
||
|
||
I accidentally lost the box key!
|
||
If my boss finds out, I'll be in trouble.
|
||
I need to do something about this.
|
||
|
||
Looking for someone with unlocking skills
|
||
as soon as possible.
|
||
|
||
|
||
\\C[1]?\\C[0]"],
|
||
],
|
||
152 => [
|
||
[1, " Entertainment District Lafell Moon
|
||
Round-faced Adventurer
|
||
5000 Jenis
|
||
|
||
I went to subdue the goblin nest, but I fell
|
||
into their trap and one of my companions
|
||
got captured!
|
||
|
||
I'm looking for a warrior skilled in stealth!
|
||
Please save my friend from their nest!
|
||
|
||
|
||
\\C[1]?\\C[0]"],
|
||
],
|
||
153 => [
|
||
[1, " Temple Main Gate
|
||
Female Instructor in front of Statue
|
||
2000 Jenis
|
||
|
||
Looking for someone to act as the criminal
|
||
for the new recruits' training.
|
||
|
||
You need to be tough and patient,
|
||
since you’ll be taking attacks
|
||
without fighting back.
|
||
|
||
|
||
|
||
\\C[1]6\\C[0]"],
|
||
],
|
||
154 => [
|
||
[1, " ?
|
||
High Priest Jema
|
||
?
|
||
|
||
That case Chief Zero-G was investigating...
|
||
We've found some clues on our end too.
|
||
|
||
This will probably be a major battle.
|
||
|
||
|
||
|
||
|
||
\\C[1]65\\C[0]"],
|
||
],
|
||
}end
|
||
#===========================================
|
||
# ここまで
|
||
#===========================================
|
||
|
||
$rsi ||= {}
|
||
$rsi["冒険メモ"] = true
|
||
|
||
module STORYEVENT
|
||
#--------------------------------------------------------------------------
|
||
# ● 色々キャッシュ
|
||
#--------------------------------------------------------------------------
|
||
def self.cache
|
||
self.cache_story_data
|
||
self.cache_event_list
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● あらすじ 見出しの取得
|
||
#--------------------------------------------------------------------------
|
||
def self.story_caption
|
||
STORYEVENT_CAPTION
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● メインストーリー情報の取得
|
||
#--------------------------------------------------------------------------
|
||
def self.cache_story_data
|
||
@story_data = STORYEVENT_CONTENTS[$game_variables[STORYEVENT_VID]]
|
||
unless @story_data
|
||
$game_variables[STORYEVENT_VID].downto(0){|n|
|
||
if STORYEVENT_CONTENTS.has_key?(n)
|
||
@story_data = STORYEVENT_CONTENTS[n]
|
||
break
|
||
end
|
||
}
|
||
end
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● あらすじ タイトルの取得
|
||
#--------------------------------------------------------------------------
|
||
def self.story_title
|
||
@story_data[0]
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● あらすじ テキストの取得
|
||
#--------------------------------------------------------------------------
|
||
def self.story_text
|
||
@story_data[1]
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● サブイベント 見出しの取得
|
||
#--------------------------------------------------------------------------
|
||
def self.event_caption
|
||
SUBEVENT_CAPTION
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● サブイベント リスト数の取得
|
||
#--------------------------------------------------------------------------
|
||
def self.event_number
|
||
SUBEVENT_TITLES.size
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● サブイベントが発生しているかどうかの判定
|
||
#--------------------------------------------------------------------------
|
||
def self.event_start?(id)
|
||
$game_variables[id] >= SUBEVENT_STARTED
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● サブイベントをクリアしたかどうかの判定
|
||
#--------------------------------------------------------------------------
|
||
def self.event_clear?(id)
|
||
$game_variables[id] >= SUBEVENT_CLEARED
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● サブイベント フラグ変数リストの取得
|
||
#--------------------------------------------------------------------------
|
||
def self.cache_event_list
|
||
@event_list = SUBEVENT_TITLES.keys.sort
|
||
@event_list.sort!{|a, b|
|
||
title_a = self.event_start?(a) ? 0 : 1
|
||
title_b = self.event_start?(b) ? 0 : 1
|
||
if title_a != title_b
|
||
title_a <=> title_b
|
||
else
|
||
a <=> b
|
||
end
|
||
}
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● サブイベントリストのゲッター
|
||
#--------------------------------------------------------------------------
|
||
def self.event_list
|
||
@event_list
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● サブイベント タイトルの取得
|
||
#--------------------------------------------------------------------------
|
||
def self.event_title(id)
|
||
if event_start?(id)
|
||
SUBEVENT_TITLES[id][0]
|
||
else
|
||
"--------------------"
|
||
end
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● サブイベント テキストの取得
|
||
#--------------------------------------------------------------------------
|
||
def self.event_text(id)
|
||
if event_clear?(id)
|
||
SUBEVENT_TITLES[id][2]
|
||
elsif event_start?(id)
|
||
text = nil
|
||
if SUBEVENT_CONTENTS[id]
|
||
SUBEVENT_CONTENTS[id].each{|data|
|
||
text = data[1] if data[0] <= $game_variables[id]
|
||
}
|
||
end
|
||
text ? text : SUBEVENT_TITLES[id][1]
|
||
else
|
||
""
|
||
end
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● シナリオ達成率の取得
|
||
#--------------------------------------------------------------------------
|
||
def self.completed
|
||
n = 0
|
||
for i in @event_list
|
||
if event_clear?(i)
|
||
n += 2
|
||
elsif event_start?(i)
|
||
n += 1
|
||
end
|
||
end
|
||
n * 100 / (event_number * 2)
|
||
end
|
||
end
|
||
|
||
class WindowInfo < Window_Base
|
||
#--------------------------------------------------------------------------
|
||
# ● オブジェクト初期化
|
||
#--------------------------------------------------------------------------
|
||
def initialize
|
||
super(368, 152, window_width, window_height)
|
||
self.opacity = 0
|
||
refresh
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● ウィンドウ幅の取得
|
||
#--------------------------------------------------------------------------
|
||
def window_width
|
||
160
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● ウィンドウ高さの取得
|
||
#--------------------------------------------------------------------------
|
||
def window_height
|
||
line_height + 32
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● リフレッシュ
|
||
#--------------------------------------------------------------------------
|
||
def refresh
|
||
draw_text(0, 0, 124, line_height, STORYEVENT::SUBEVENT_CLEARTEXT)
|
||
text = "%"
|
||
contents.font.size = 20
|
||
cx = text_size(text).width
|
||
change_color(system_color)
|
||
draw_text(0, 0, 124, line_height, text, 2)
|
||
contents.font.size = 20
|
||
change_color(normal_color)
|
||
draw_text(0, 0, 124-cx-4, line_height, STORYEVENT.completed, 2)
|
||
end
|
||
end
|
||
|
||
class WindowOutlineSub < Window_Base
|
||
#--------------------------------------------------------------------------
|
||
# ● オブジェクト初期化
|
||
#--------------------------------------------------------------------------
|
||
def initialize
|
||
super(0, 152, window_width, window_height)
|
||
refresh
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● ウィンドウ幅の取得
|
||
#--------------------------------------------------------------------------
|
||
def window_width
|
||
Graphics.width
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● ウィンドウ高さの取得
|
||
#--------------------------------------------------------------------------
|
||
def window_height
|
||
Graphics.height - 152
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● リフレッシュ
|
||
#--------------------------------------------------------------------------
|
||
def refresh
|
||
change_color(system_color)
|
||
draw_text(0, 0, 352, line_height, STORYEVENT.event_caption)
|
||
end
|
||
end
|
||
|
||
class WindowOutlineList < Window_Selectable
|
||
#--------------------------------------------------------------------------
|
||
# ● オブジェクト初期化
|
||
#--------------------------------------------------------------------------
|
||
def initialize
|
||
super(0, 192, window_width, window_height)
|
||
self.index = 0
|
||
self.opacity = 0
|
||
refresh
|
||
activate
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● 選択項目の有効状態を取得
|
||
#--------------------------------------------------------------------------
|
||
def current_item_enabled?
|
||
STORYEVENT.event_start?(STORYEVENT.event_list[index])
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● 桁数の取得
|
||
#--------------------------------------------------------------------------
|
||
def col_max
|
||
2
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● 横に項目が並ぶときの空白の幅を取得
|
||
#--------------------------------------------------------------------------
|
||
def spacing
|
||
16
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● 項目数の取得
|
||
#--------------------------------------------------------------------------
|
||
def item_max
|
||
STORYEVENT.event_number
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● ウィンドウ幅の取得
|
||
#--------------------------------------------------------------------------
|
||
def window_width
|
||
Graphics.width
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● ウィンドウ高さの取得
|
||
#--------------------------------------------------------------------------
|
||
def window_height
|
||
Graphics.height - 192
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● 項目の描画
|
||
#--------------------------------------------------------------------------
|
||
def draw_item(index)
|
||
event_id = STORYEVENT.event_list[index]
|
||
rect = item_rect(index)
|
||
rect.x += 2
|
||
color = normal_color
|
||
enabled = STORYEVENT.event_start?(event_id)
|
||
if enabled
|
||
if STORYEVENT.event_clear?(event_id)
|
||
color = text_color(1)
|
||
draw_icon(STORYEVENT::SUBEVENT_CLEARED_ICON, rect.x, rect.y)
|
||
end
|
||
end
|
||
rect.x += 24
|
||
rect.width -= 28
|
||
change_color(color, enabled)
|
||
draw_text(rect, STORYEVENT.event_title(event_id))
|
||
end
|
||
end
|
||
|
||
class WindowOutlineMain < Window_Base
|
||
#--------------------------------------------------------------------------
|
||
# ● オブジェクト初期化
|
||
#--------------------------------------------------------------------------
|
||
def initialize
|
||
super(0, 0, window_width, window_height)
|
||
refresh
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● ウィンドウ幅の取得
|
||
#--------------------------------------------------------------------------
|
||
def window_width
|
||
Graphics.width
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● ウィンドウ高さの取得
|
||
#--------------------------------------------------------------------------
|
||
def window_height
|
||
152
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● リフレッシュ
|
||
#--------------------------------------------------------------------------
|
||
def refresh
|
||
cw = contents.width - 32
|
||
change_color(system_color)
|
||
draw_text(0, 0, contents.width - 32, line_height, STORYEVENT.story_caption)
|
||
change_color(normal_color)
|
||
cx = text_size(STORYEVENT.story_caption).width + 16
|
||
draw_text(cx, 0, cw - cx, line_height, STORYEVENT.story_title)
|
||
draw_text_ex(16, line_height + 16, STORYEVENT.story_text.dup)
|
||
end
|
||
end
|
||
|
||
class WindoOutlineText < Window_Selectable
|
||
#--------------------------------------------------------------------------
|
||
# ● 公開インスタンス変数
|
||
#--------------------------------------------------------------------------
|
||
attr_reader :item_index # 表示するインデックス
|
||
#--------------------------------------------------------------------------
|
||
# ● オブジェクト初期化
|
||
#--------------------------------------------------------------------------
|
||
def initialize
|
||
super(window_x, window_y, window_width, window_height)
|
||
if $game_switches[111] == true#紅茶走
|
||
self.windowskin = Cache.system(STORYEVENT::SUBEVENT_SKINb)#紅茶走
|
||
else #紅茶走
|
||
self.windowskin = Cache.system(STORYEVENT::SUBEVENT_SKIN)#紅茶走
|
||
end#紅茶走
|
||
self.z = 200
|
||
self.active = false
|
||
self.openness = 0
|
||
self.opacity = 0#紅茶走透過度
|
||
@item_index = 0
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● ウィンドウ X 座標の取得
|
||
#--------------------------------------------------------------------------
|
||
def window_x
|
||
(Graphics.width - window_width) / 2
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● ウィンドウ Y 座標の取得
|
||
#--------------------------------------------------------------------------
|
||
def window_y
|
||
(Graphics.height - window_height) / 2
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● ウィンドウ幅の取得
|
||
#--------------------------------------------------------------------------
|
||
def window_width
|
||
640
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● ウィンドウ高さの取得
|
||
#--------------------------------------------------------------------------
|
||
def window_height
|
||
480
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● リフレッシュ
|
||
#--------------------------------------------------------------------------
|
||
def refresh
|
||
contents.clear
|
||
bitmap = Cache.picture("kueback")#紅茶走 ここ改変
|
||
self.contents.blt(0, 0, bitmap, bitmap.rect)#紅茶走 ここ改変
|
||
id = STORYEVENT.event_list[@item_index]
|
||
text = STORYEVENT.event_title(id)
|
||
contents.font.shadow = false
|
||
contents.font.bold = true
|
||
contents.font.name = "みかちゃん"#紅茶走ここだけフォント使えなかった
|
||
contents.font.size = 24
|
||
change_color(system_color)
|
||
cx = contents.width - 96
|
||
cw = text_size(text).width
|
||
# contents.fill_rect(Rect.new(4, 32, cw + 8, 2), system_color)
|
||
contents.draw_text(8+170, 8+52, cx - 24, line_height, text)
|
||
contents.font.bold = false
|
||
contents.font.name = "いろはマルみかみ Mediam"#紅茶走もどす
|
||
contents.font.size = 20
|
||
change_color(normal_color)
|
||
contents.draw_text(220, 240, cx, line_height, STORYEVENT::SUBEVENT_CLEARED_TEXT) if STORYEVENT.event_clear?(id)
|
||
draw_text_ex(20+20, line_height * 2+52, STORYEVENT.event_text(id).clone)
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● 表示するインデックスの設定
|
||
#--------------------------------------------------------------------------
|
||
def item_index=(index)
|
||
@item_index = index
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● ウィンドウのアクティブ化
|
||
#--------------------------------------------------------------------------
|
||
def activate
|
||
refresh
|
||
open
|
||
super
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● ウィンドウの非アクティブ化
|
||
#--------------------------------------------------------------------------
|
||
def deactivate
|
||
close
|
||
super
|
||
end
|
||
end
|
||
|
||
class Window_MenuCommand < Window_Command
|
||
#--------------------------------------------------------------------------
|
||
# ● コマンドリストの作成
|
||
#--------------------------------------------------------------------------
|
||
alias _make_command_list_with_story_command make_command_list
|
||
def make_command_list
|
||
_make_command_list_with_story_command
|
||
add_story_command
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● インデックスを指定したコマンドの追加
|
||
#--------------------------------------------------------------------------
|
||
def add_command_with_index(name, symbol, index, enabled = true, ext = nil)
|
||
@list[index, 0] = {:name=>name, :symbol=>symbol, :enabled=>enabled, :ext=>ext}
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● 冒険メモコマンドの有効判定
|
||
#--------------------------------------------------------------------------
|
||
def enable_story_command?
|
||
$game_switches[STORYEVENT::STORYEVENT_ENABLE_SID]
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● 冒険メモコマンドの追加
|
||
#--------------------------------------------------------------------------
|
||
def add_story_command
|
||
add_command_with_index(STORYEVENT::STORYEVENT_MENU_TEXT, :story,
|
||
STORYEVENT::STORYEVENT_MENU_INDEX, enable_story_command?)
|
||
end
|
||
end
|
||
|
||
class SceneOutline < Scene_Base
|
||
#--------------------------------------------------------------------------
|
||
# ● オブジェクト初期化
|
||
#--------------------------------------------------------------------------
|
||
def initialize
|
||
STORYEVENT.cache
|
||
@index = 0
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● 開始処理
|
||
#--------------------------------------------------------------------------
|
||
def start
|
||
super
|
||
create_background
|
||
create_backsprite
|
||
create_windows
|
||
set_handler
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● 背景の作成
|
||
#--------------------------------------------------------------------------
|
||
def create_background
|
||
@background_sprite = Sprite.new
|
||
@background_sprite.bitmap = SceneManager.background_bitmap
|
||
@background_sprite.color.set(16, 16, 16, 128)
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● サブイベント閲覧時用の背景スプライトの作成
|
||
#--------------------------------------------------------------------------
|
||
def create_backsprite
|
||
@back_sprite = Sprite.new
|
||
@back_sprite.bitmap = Bitmap.new(Graphics.width, Graphics.height)
|
||
@back_sprite.bitmap.fill_rect(@back_sprite.bitmap.rect, Color.new(0, 0, 0, 192))
|
||
@back_sprite.visible = false
|
||
@back_sprite.z = 190
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● 各種ウィンドウの作成
|
||
#--------------------------------------------------------------------------
|
||
def create_windows
|
||
@main_window = WindowOutlineMain.new
|
||
@sub_window = WindowOutlineSub.new
|
||
@list_window = WindowOutlineList.new
|
||
@info_window = WindowInfo.new
|
||
@text_window = WindoOutlineText.new
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● ハンドラのセット
|
||
#--------------------------------------------------------------------------
|
||
def set_handler
|
||
@list_window.set_handler(:ok, method(:open_text_window))
|
||
@list_window.set_handler(:cancel, method(:return_scene))
|
||
@text_window.set_handler(:cancel, method(:close_text_window))
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● 終了処理
|
||
#--------------------------------------------------------------------------
|
||
def terminate
|
||
super
|
||
dispose_background
|
||
dispose_backsprite
|
||
dispose_windows
|
||
SceneManager.call(Scene_Menu)#紅茶走
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● 背景の解放
|
||
#--------------------------------------------------------------------------
|
||
def dispose_background
|
||
@background_sprite.dispose
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● サブイベント閲覧時用の背景スプライトの解放
|
||
#--------------------------------------------------------------------------
|
||
def dispose_backsprite
|
||
@back_sprite.dispose
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● 各種ウィンドウの解放
|
||
#--------------------------------------------------------------------------
|
||
def dispose_windows
|
||
@main_window.dispose
|
||
@sub_window.dispose
|
||
@list_window.dispose
|
||
@info_window.dispose
|
||
@text_window.dispose
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● サブイベントの詳細ウィンドウ表示
|
||
#--------------------------------------------------------------------------
|
||
def open_text_window
|
||
@list_window.visible = false
|
||
@main_window.visible = false
|
||
@sub_window.visible = false
|
||
@info_window.visible = false
|
||
@back_sprite.visible = true
|
||
@text_window.item_index = @list_window.index
|
||
@text_window.activate
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● サブイベントの詳細ウィンドウ非表示
|
||
#--------------------------------------------------------------------------
|
||
def close_text_window
|
||
@list_window.visible = true
|
||
@main_window.visible = true
|
||
@sub_window.visible = true
|
||
@info_window.visible = true
|
||
@back_sprite.visible = false
|
||
@list_window.activate
|
||
end
|
||
end
|
||
|
||
class Scene_Menu < Scene_MenuBase
|
||
#--------------------------------------------------------------------------
|
||
# ● コマンドウィンドウの作成
|
||
#--------------------------------------------------------------------------
|
||
alias _create_story_command create_command_window
|
||
def create_command_window
|
||
_create_story_command
|
||
@command_window.set_handler(:story, method(:command_story))
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● コマンド[冒険メモ]
|
||
#--------------------------------------------------------------------------
|
||
def command_story
|
||
SceneManager.call(SceneOutline)
|
||
end
|
||
end |