1 |
depth = (-y) |
2 |
interact = 0 |
3 |
if (keyboard_multicheck_pressed(0) && scr_interactscr_interactfunction scr_interact() //gml_Script_scr_interact
{
if (distance_to_object(obj_pl) < 20 && obj_pl.state == gml_Script_scr_normal_state)
{
var pl_dir = obj_pl.direction
var pl_x = 0
var pl_y = 0
var check_distance_x = 0
var check_distance_y = 0
switch pl_dir
{
case 0:
pl_x = obj_pl.bbox_right
pl_y = obj_pl.bbox_top + 1
check_distance_x = 20
break
case 180:
pl_x = obj_pl.bbox_left
pl_y = obj_pl.bbox_top + 1
check_distance_x = -20
break
case 90:
pl_x = obj_pl.x
pl_y = obj_pl.bbox_top
check_distance_y = -20
break
case 270:
pl_x = obj_pl.x
pl_y = obj_pl.bbox_bottom
check_distance_y = 20
break
}
if collision_line_first(pl_x, pl_y, (pl_x + check_distance_x), (pl_y + check_distance_y), id, false, false)
return true;
}
} () == true) |
4 |
{ |
5 |
if (global.hotland_flag[1] > 0 && global.party_member != -4) |
6 |
{ |
7 |
scr_textscr_textfunction scr_text() //gml_Script_scr_text
{
if (!instance_exists(obj_dialogue))
msg = instance_create(x, y, obj_dialogue)
} () |
8 |
with (msg) |
9 |
{ |
10 |
sndfnt = 102 |
11 |
message[0] = "* (We need to stay# focused.)" |
12 |
message[1] = "* (Let's not bother# others with our# problems.)" |
13 |
prt[0] = 321 |
14 |
prt[1] = 329 |
15 |
} |
16 |
} |
17 |
else |
18 |
interact = 1 |
19 |
} |
20 |
if (sprite_index == spr_hotland_mr_cursor) |
21 |
{ |
22 |
if (instance_exists(obj_dialogue) && is_talking == true) |
23 |
{ |
24 |
if (obj_dialogue.cutoff == string_length(obj_dialogue.message[obj_dialogue.message_current])) |
25 |
{ |
26 |
image_speed = 0 |
27 |
image_index = 0 |
28 |
} |
29 |
else |
30 |
image_speed = 0.2 |
31 |
} |
32 |
else |
33 |
{ |
34 |
image_speed = 0 |
35 |
is_talking = false |
36 |
} |
37 |
} |
38 |
if (ds_map_find_value(global.npc_map, npc_id) != npc_flag) |
39 |
ds_map_replace(global.npc_map, npc_id, npc_flag) |
40 |
switch scene |
41 |
{ |
42 |
case 0: |
43 |
if interact |
44 |
scene = 1 |
45 |
break |
46 |
case 1: |
47 |
is_talking = 1 |
48 |
switch npc_flag |
49 |
{ |
50 |
case 0: |
51 |
scr_cutscene_startscr_cutscene_startfunction scr_cutscene_start() //gml_Script_scr_cutscene_start
{
global.cutscene = true
obj_pl.state = gml_Script_scr_frozen_state
obj_pl.image_index = 0
obj_pl.image_speed = 0
} () |
52 |
cutscene_dialogue() |
53 |
with (msg) |
54 |
{ |
55 |
message[0] = "* I'm usually a chill dude but# today has not been my day. Let# me tell you:" |
56 |
message[1] = "* First, the attendant needs my# name so she can save me a room." |
57 |
message[2] = "* \"Mr. Cursor,\" I reply. She# steps back and goes \"Like some# kind of warlock?\"" |
58 |
message[3] = "* I say \"What? Warlock?\" with# visible confusion." |
59 |
message[4] = "* \"I like to roll that ten-sided# die as much as the next guy but# no, I'm Mr. CURSOR.\"" |
60 |
message[5] = "* Turns out, she thought I said# \"Curser\" like I was gonna hex# the joint!" |
61 |
message[6] = "* Really didn't need her input# on my iconic name but whatever.# " |
62 |
message[7] = "* So then, I walk over to the# elevator to head back to New# Home." |
63 |
message[8] = "* It's busy, so I wait, and I# wait, and I wait, and LITERALLY# THREE HOURS PASS!" |
64 |
message[9] = "* Next thing I know, the# elevator opens but OOPS!!" |
65 |
message[10] = "* Mr. Cursor has a tendency to# timeout and fall asleep every# five minutes!! " |
66 |
message[11] = "* SO I MISSED MY ONE CHANCE!!!" |
67 |
message[12] = "* And now I'm stuck here and# don't know WHEN I'LL EVER GET# TO" |
68 |
if (message_current == 12) |
69 |
{ |
70 |
skippable = false |
71 |
message_timer = 15 |
72 |
} |
73 |
} |
74 |
break |
75 |
case 1: |
76 |
scene = 0 |
77 |
scr_textscr_textfunction scr_text() //gml_Script_scr_text
{
if (!instance_exists(obj_dialogue))
msg = instance_create(x, y, obj_dialogue)
} () |
78 |
with (msg) |
79 |
{ |
80 |
message[0] = "* Sorry about that... I have to# slow down and take a breather# when things get heated." |
81 |
message[1] = "* What was I talking about?" |
82 |
message[2] = "* Ugh, my memory sucks." |
83 |
} |
84 |
other.npc_flag += 1 |
85 |
break |
86 |
case 2: |
87 |
scene = 0 |
88 |
scr_textscr_textfunction scr_text() //gml_Script_scr_text
{
if (!instance_exists(obj_dialogue))
msg = instance_create(x, y, obj_dialogue)
} () |
89 |
with (msg) |
90 |
{ |
91 |
message[0] = "* Yo, I monitored the situation# further and it just clicked# with me!" |
92 |
message[1] = "* What if I tried to ram my way# into the elevator by force?" |
93 |
message[2] = "* Like just charge straight into# the doors!" |
94 |
message[3] = "* Eh, well... on second thought,# if I tried that I might slip a# disk..." |
95 |
} |
96 |
other.npc_flag += 1 |
97 |
break |
98 |
case 3: |
99 |
scene = 0 |
100 |
scr_textscr_textfunction scr_text() //gml_Script_scr_text
{
if (!instance_exists(obj_dialogue))
msg = instance_create(x, y, obj_dialogue)
} () |
101 |
with (msg) |
102 |
message[0] = "* You think this place has free# Wi-Fi? I'm uh, pretty bored." |
103 |
break |
104 |
} |
105 |
|
106 |
break |
107 |
case 2: |
108 |
is_talking = false |
109 |
audio_sound_gain(obj_radio.current_song, 0, 500) |
110 |
sprite_index = spr_hotland_mr_cursor_loading |
111 |
image_speed = 1 |
112 |
scene++ |
113 |
break |
114 |
case 3: |
115 |
cutscene_wait(2.5) |
116 |
break |
117 |
case 4: |
118 |
audio_sound_gain(obj_radio.current_song, 1, 500) |
119 |
sprite_index = spr_hotland_mr_cursor |
120 |
image_index = 0 |
121 |
image_speed = 0 |
122 |
scene++ |
123 |
break |
124 |
case 5: |
125 |
cutscene_dialogue() |
126 |
is_talking = true |
127 |
with (msg) |
128 |
message[0] = "* GO HOME!!!" |
129 |
break |
130 |
case 6: |
131 |
scr_cutscene_end() |
132 |
npc_flag += 1 |
133 |
scene = 0 |
134 |
break |
135 |
} |