Deltarune script viewer

← back to main script listing

gml_Object_obj_overworld_poppup_Step_0

(view raw script w/o annotations or w/e)
1
if (global.flag[encounterflag] == 1)
2
    instance_destroy();
3
if (global.flag[encounterflag] == 6 && init == 0)
4
{
5
    if (frozensprite == 0)
6
        frozensprite = spr_poppup_hurt;
7
    frozennpc = instance_create(x, y, obj_frozennpc);
8
    frozennpc.sprite_index = frozensprite;
9
    frozennpc.fresh = 1;
10
    instance_destroy();
11
    init = 1;
12
}
13
offX = x + 42;
14
offY = y + 62;
15
if (weird == 0)
16
{
17
    if (instance_exists(obj_mainchara))
18
        dist = point_distance(offX, offY, charaX(), charaY());
19
    if (dist < radius && con == 0)
20
    {
21
        speed1 = 0.25;
22
        con = 2;
23
    }
24
    if (con == 0 && room == room_dw_city_roadblock)
25
    {
26
        if (point_in_rectangle(charaX(), charaY(), 880, 640, 1040, 760))
27
        {
28
            speed1 = 0.25;
29
            con = 2;
30
        }
31
    }
32
    if (con == 2)
33
    {
34
        image_speed = 0.5;
35
        if (image_index == 7)
36
            image_index = 3;
37
        if (speedboost == 0)
38
            speed1 *= 1.1;
39
        if (speedboost == 1)
40
            speed1 *= 1.4;
41
        if (speedboost == 0)
42
            speed1 = clamp(speed1, 0, 8);
43
        if (speedboost == 1)
44
            speed1 = clamp(speed1, 0, 16);
45
        if (global.interact == 0)
46
        {
47
            if (speed1 == 0)
48
                speed1 = memspeed;
49
        }
50
        else
51
        {
52
            if (speed1 != 0)
53
                memspeed = speed1;
54
            speed1 = 0;
55
        }
56
        if (instance_exists(obj_mainchara))
57
            move_towards_point(charaHeartX() - 42, charaHeartY() - 20 - 62, speed1);
58
    }
59
}
60
if (weird == 1)
61
{
62
    if (con == 0)
63
    {
64
        image_speed = 0.25;
65
        if (image_index >= 7)
66
            image_index = 3;
67
        if (i_ex(obj_mainchara))
68
        {
69
            if (distance_to_object(obj_mainchara) < 120)
70
                con = 1;
71
        }
72
    }
73
    if (con == 1)
74
    {
75
        image_speed = 0;
76
        if (image_index != 0)
77
            image_index = lerp(image_index, 0, 0.5);
78
        if (distance_to_object(obj_mainchara) > 120)
79
        {
80
            image_index = 0;
81
            con = 0;
82
        }
83
    }
84
}
85
scr_depth_alt
scr_depth_alt

function scr_depth_alt() { depth = 100000 - ((y * 10) + ((sprite_height - sprite_yoffset) * 10)); }
();
86
if (place_meeting(x, y, obj_mainchara) && global.interact == 0 && !i_ex(obj_fadeout))
87
{
88
    sprite_index = spr_poppup_intro;
89
    image_index = 0;
90
    marker = instance_create(x, y, obj_marker);
91
    marker.image_index = image_index;
92
    marker.sprite_index = sprite_index;
93
    marker.x = x;
94
    marker.y = y;
95
    marker.image_speed = 0.45;
96
    marker.image_xscale = image_xscale;
97
    marker.image_yscale = image_yscale;
98
    if (topsprite != 0)
99
    {
100
        flyoff = instance_create(x + 42, (y + 106) - 24, obj_poppup_topobjflyaway);
101
        flyoff.sprite_index = topsprite;
102
        flyoff.image_xscale = 2;
103
        flyoff.image_yscale = 2;
104
        flyoff.depth = 2;
105
        flyoff.image_angle = -10;
106
    }
107
    global.flag[55 enemy_x] = x;
108
    global.flag[56 enemy_y] = y;
109
    global.flag[54 encounter_pointer] = encounterflag;
110
    if (encountertype == 0)
111
        scr_battle
scr_battle

function scr_battle(arg0, arg1, arg2, arg3, arg4) { global.specialbattle = arg1; global.encounterno = arg0; if (global.flag[9 battle_music] != 2) { global.flag[9 battle_music] = 1; global.batmusic[0] = snd_init("battle.ogg"); } instance_create(0, 0, obj_battleback); instance_create(0, 0, obj_encounterbasic); __enemymarker[0] = arg2; __enemymarker[1] = arg3; __enemymarker[2] = arg4; for (__ien = 0; __ien < 3; __ien++) { if (global.monstertype[__ien] != 0(None)) { if (!i_ex(__enemymarker[__ien])) { __enemymarker[__ien] = scr_dark_marker(global.monstermakex[__ien] + 300, global.monstermakey[__ien], object_get_sprite(global.monsterinstancetype[__ien])); __enemymarker[__ien].depth = -__ien; } __enemymarker[__ien].__ien = __ien; with (__enemymarker[__ien]) { scr_move_to_point_over_time(global.monstermakex[__ien], global.monstermakey[__ien], 20); __doom = instance_create(x, y, obj_doom); __doom.target = id; __doom.alarm[0] = 25; } } } }
(51, 0, marker, 0, 0);
112
    if (encountertype == 1)
113
        scr_battle
scr_battle

function scr_battle(arg0, arg1, arg2, arg3, arg4) { global.specialbattle = arg1; global.encounterno = arg0; if (global.flag[9 battle_music] != 2) { global.flag[9 battle_music] = 1; global.batmusic[0] = snd_init("battle.ogg"); } instance_create(0, 0, obj_battleback); instance_create(0, 0, obj_encounterbasic); __enemymarker[0] = arg2; __enemymarker[1] = arg3; __enemymarker[2] = arg4; for (__ien = 0; __ien < 3; __ien++) { if (global.monstertype[__ien] != 0(None)) { if (!i_ex(__enemymarker[__ien])) { __enemymarker[__ien] = scr_dark_marker(global.monstermakex[__ien] + 300, global.monstermakey[__ien], object_get_sprite(global.monsterinstancetype[__ien])); __enemymarker[__ien].depth = -__ien; } __enemymarker[__ien].__ien = __ien; with (__enemymarker[__ien]) { scr_move_to_point_over_time(global.monstermakex[__ien], global.monstermakey[__ien], 20); __doom = instance_create(x, y, obj_doom); __doom.target = id; __doom.alarm[0] = 25; } } } }
(88, 0, marker, 0, 0);
114
    if (encountertype == 2)
115
        scr_battle
scr_battle

function scr_battle(arg0, arg1, arg2, arg3, arg4) { global.specialbattle = arg1; global.encounterno = arg0; if (global.flag[9 battle_music] != 2) { global.flag[9 battle_music] = 1; global.batmusic[0] = snd_init("battle.ogg"); } instance_create(0, 0, obj_battleback); instance_create(0, 0, obj_encounterbasic); __enemymarker[0] = arg2; __enemymarker[1] = arg3; __enemymarker[2] = arg4; for (__ien = 0; __ien < 3; __ien++) { if (global.monstertype[__ien] != 0(None)) { if (!i_ex(__enemymarker[__ien])) { __enemymarker[__ien] = scr_dark_marker(global.monstermakex[__ien] + 300, global.monstermakey[__ien], object_get_sprite(global.monsterinstancetype[__ien])); __enemymarker[__ien].depth = -__ien; } __enemymarker[__ien].__ien = __ien; with (__enemymarker[__ien]) { scr_move_to_point_over_time(global.monstermakex[__ien], global.monstermakey[__ien], 20); __doom = instance_create(x, y, obj_doom); __doom.target = id; __doom.alarm[0] = 25; } } } }
(101, 0, marker, 0, 0);
116
    instance_destroy();
117
}