Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_ribbick_enemy_Step_0

(view raw script w/o annotations or w/e)
1
if (_init == false)
2
{
3
    if (i_ex(obj_battlecontroller) && obj_battlecontroller.rabbickvar == myself && global.flag[global.monstertype[myself] + 600] >= 1 && global.encounterno == 131???)
4
        amirabbick = true;
5
    _init = true;
6
}
7
if (global.monster[myself] == 1)
8
{
9
    if (
scr_isphase
scr_isphase

function
scr_isphase(arg0)
{ __isphase = 0; if (arg0 == "menu" && global.myfight == 0) __isphase = 1; if (arg0 == "acting" && global.myfight == 3) __isphase = 1; if (arg0 == "victory" && global.myfight == 7) __isphase = 1; if (arg0 == "attack" || arg0 == "fight") { if (global.myfight == 1) __isphase = 1; } if (arg0 == "spell" || arg0 == "item") { if (global.myfight == 4) __isphase = 1; } if (arg0 == "enemytalk" || arg0 == "balloon") { if (global.mnfight == 1) __isphase = 1; } if (arg0 == "enemyattack" || arg0 == "bullets") { if (global.mnfight == 2) __isphase = 1; } return __isphase; }
("enemytalk") && talked == 0)
10
    {
11
        
scr_randomtarget
scr_randomtarget

function
scr_randomtarget()
{ abletotarget = 1; if (global.charcantarget[0] == 0 && global.charcantarget[1] == 0 && global.charcantarget[2] == 0) abletotarget = 0; mytarget = choose(0, 1, 2); if (abletotarget == 1) { while (global.charcantarget[mytarget] == 0) mytarget = choose(0, 1, 2); } else { mytarget = 3; } global.targeted[mytarget] = 1; if (global.chapter >= 2 && mytarget != 3) { if (global.charcantarget[0]) global.targeted[0] = 1; if (global.charcantarget[1]) global.targeted[1] = 1; if (global.charcantarget[2]) global.targeted[2] = 1; mytarget = 4; } }
();
12
        myattackchoice = choose(0, 1);
13
        if (blown && amirabbick)
14
            myattackchoice = 2;
15
        CroakOnX = false;
16
        presscount = 0;
17
        presstimer = 0;
18
        startcroaktimer = false;
19
        blow_wait = 0;
20
        myattackpriority = 1;
21
        if (myattackchoice == 2)
22
            myattackpriority = 50;
23
        
scr_attackpriority
scr_attackpriority

function
scr_attackpriority(arg0)
{ if (i_ex(obj_battlecontroller)) { if (obj_battlecontroller.attackpriority < arg0) { obj_battlecontroller.attackpriority = arg0; return true; } else { return false; } } else { return false; } }
(myattackpriority - 1);
24
        if (!instance_exists(obj_darkener))
25
            instance_create(0, 0, obj_darkener);
26
        global.typer = 50;
27
        rr = choose(0, 1, 2, 3);
28
        if (amirabbick == false)
29
        {
30
            if (blown && irandom(100) < 10 && blownturn > 0)
31
            {
32
                if (rr == 0 || rr == 1)
33
                    msgsetloc(0, 
A lost
and lost
and lost girl.
"A lost&and lost&and lost girl.", "obj_ribbick_enemy_slash_Step_0_gml_44_0"
);
34
                if (rr == 2 || rr == 3)
35
                    msgsetloc(0, 
A crying
and crying
and crying boy.
"A crying&and crying&and crying boy.", "obj_ribbick_enemy_slash_Step_0_gml_45_0"
);
36
            }
37
            else if (blown)
38
            {
39
                blownturn++;
40
                if (rr == 0)
41
                    msgsetloc(0, 
A messy and
unfocused girl.
"A messy and&unfocused girl.", "obj_ribbick_enemy_slash_Step_0_gml_50_0"
);
42
                if (rr == 1)
43
                    msgsetloc(0, 
A rowdy and
dirty girl.
"A rowdy and&dirty girl.", "obj_ribbick_enemy_slash_Step_0_gml_51_0"
);
44
                if (rr == 2)
45
                    msgsetloc(0, 
A poorly
trimmed boy.
"A poorly&trimmed boy.", "obj_ribbick_enemy_slash_Step_0_gml_52_0"
);
46
                if (rr == 3)
47
                    msgsetloc(0, 
A quiet and
smelly boy.
"A quiet and&smelly boy.", "obj_ribbick_enemy_slash_Step_0_gml_53_0"
);
48
            }
49
            else
50
            {
51
                if (rr == 0)
52
                    msgsetloc(0, 
Guruuuu---
"Guruuuu---", "obj_ribbick_enemy_slash_Step_0_gml_57_0"
);
53
                if (rr == 1)
54
                    msgsetloc(0, 
Woof.
"Woof.", "obj_ribbick_enemy_slash_Step_0_gml_58_0"
);
55
                if (rr == 2)
56
                    msgsetloc(0, 
Sizzy snuzz,
what's the buzz?
"Sizzy snuzz,&what's the buzz?", "obj_ribbick_enemy_slash_Step_0_gml_59_0"
);
57
                if (rr == 3)
58
                    msgsetloc(0, 
Hip, hip
"Hip, hip", "obj_ribbick_enemy_slash_Step_0_gml_60_0"
);
59
            }
60
        }
61
        else if (blown)
62
        {
63
            if (rr == 0)
64
                msgsetloc(0, 
A sweet and
fresh girl.
"A sweet and&fresh girl.", "obj_ribbick_enemy_slash_Step_0_gml_67_0"
);
65
            if (rr == 1)
66
                msgsetloc(0, 
A nice and
tidy girl.
"A nice and&tidy girl.", "obj_ribbick_enemy_slash_Step_0_gml_68_0"
);
67
            if (rr == 2)
68
                msgsetloc(0, 
A soft and
clean boy.
"A soft and&clean boy.", "obj_ribbick_enemy_slash_Step_0_gml_69_0"
);
69
            if (rr == 3)
70
                msgsetloc(0, 
A refreshing
boy.
"A refreshing&boy.", "obj_ribbick_enemy_slash_Step_0_gml_70_0"
);
71
        }
72
        else
73
        {
74
            rr = choose(0, 1, 2, 3, 4);
75
            if (rr == 0)
76
                msgsetloc(0, 
Duruuuu---
"Duruuuu---", "obj_ribbick_enemy_slash_Step_0_gml_75_0"
);
77
            if (rr == 1)
78
                msgsetloc(0, 
Meow.
"Meow.", "obj_ribbick_enemy_slash_Step_0_gml_76_0"
);
79
            if (rr == 2)
80
                msgsetloc(0, 
Snitter snatter,
what's the matter
"Snitter snatter,&what's the matter", "obj_ribbick_enemy_slash_Step_0_gml_77_0"
);
81
            if (rr == 3)
82
                msgsetloc(0, 
Hop, hop
"Hop, hop", "obj_ribbick_enemy_slash_Step_0_gml_78_0"
);
83
            if (rr == 4)
84
                msgsetloc(0, 
Bunnies are the
sequel to frogs.
"Bunnies are the&sequel to frogs.", "obj_ribbick_enemy_slash_Step_0_gml_79_0"
);
85
        }
86
        
scr_enemyblcon
scr_enemyblcon

function
scr_enemyblcon(arg0, arg1, arg2)
{ if (arg2 == 0) { mywriter = instance_create(arg0, arg1, obj_writer); return mywriter; } if (arg2 == 1) { myblcon = instance_create(arg0, arg1, obj_battleblcon); return myblcon; } if (arg2 == 2) { myblcon = instance_create(arg0, arg1, obj_battleblcon); myblcon.sprite_index = spr_battleblcon_v; return myblcon; } if (arg2 == 3) { myblcon = instance_create(arg0, arg1, obj_battleblcon); myblcon.sprite_index = spr_battleblcon_long; return myblcon; } if (arg2 == 4) { myblcon = instance_create(arg0, arg1, obj_battleblcon); myblcon.sprite_index = spr_battleblcon_long; myblcon.image_index = 0; myblcon.image_speed = 0; return myblcon; } if (arg2 == 5) { myblcon = instance_create(arg0, arg1, obj_battleblcon); myblcon.sprite_index = spr_battleblcon_long; myblcon.image_index = 1; myblcon.image_speed = 0; return myblcon; } if (arg2 == 6) { myblcon = instance_create(arg0, arg1, obj_battleblcon); myblcon.sprite_index = spr_battleblcon_clubs; myblcon.image_index = 2; myblcon.image_speed = 0; return myblcon; } if (arg2 == 7) { myblcon = instance_create(arg0, arg1, obj_battleblcon); myblcon.sprite_index = spr_battleblcon_long_r; myblcon.image_index = 2; myblcon.image_speed = 0; return myblcon; } if (arg2 == 8) { myblcon = instance_create(arg0, arg1, obj_battleblcon); myblcon.sprite_index = spr_battleblcon_long_tall; return myblcon; } if (arg2 == 10) { myblcon = instance_create(arg0, arg1, obj_battleblcon); myblcon.sprite_index = spr_battleblcon_long; myblcon.auto_length = 1; return myblcon; } if (arg2 == 11) { myblcon = instance_create(arg0, arg1, obj_battleblcon); myblcon.sprite_index = spr_battleblcon_z; return myblcon; } }
(x - 10, y + 60, 10);
87
        talked = 1;
88
        talktimer = 0;
89
        rtimer = 0;
90
    }
91
    if (talked == 1 && 
scr_isphase
scr_isphase

function
scr_isphase(arg0)
{ __isphase = 0; if (arg0 == "menu" && global.myfight == 0) __isphase = 1; if (arg0 == "acting" && global.myfight == 3) __isphase = 1; if (arg0 == "victory" && global.myfight == 7) __isphase = 1; if (arg0 == "attack" || arg0 == "fight") { if (global.myfight == 1) __isphase = 1; } if (arg0 == "spell" || arg0 == "item") { if (global.myfight == 4) __isphase = 1; } if (arg0 == "enemytalk" || arg0 == "balloon") { if (global.mnfight == 1) __isphase = 1; } if (arg0 == "enemyattack" || arg0 == "bullets") { if (global.mnfight == 2) __isphase = 1; } return __isphase; }
("enemytalk"))
92
        
scr_blconskip
scr_blconskip

function
scr_blconskip(arg0)
{ if (arg0 >= 0) { if (button1_p() && talktimer > arg0) talktimer = talkmax; talktimer += 1; if (talktimer >= talkmax) { with (obj_writer) instance_destroy(); with (obj_guei_balloon) instance_destroy(); global.mnfight = 1.5; } } else if (arg0 == -1) { if (instance_exists(obj_writer) == false) global.mnfight = 1.5; } else if (arg0 == -2) { talktimer += 1; if (talktimer > 15) talktimer = talkmax; if (talktimer >= talkmax) { with (obj_writer) instance_destroy(); with (obj_guei_balloon) instance_destroy(); global.mnfight = 1.5; } } }
(15);
93
    if (global.mnfight == 1.5)
94
    {
95
        if (
scr_attackpriority
scr_attackpriority

function
scr_attackpriority(arg0)
{ if (i_ex(obj_battlecontroller)) { if (obj_battlecontroller.attackpriority < arg0) { obj_battlecontroller.attackpriority = arg0; return true; } else { return false; } } else { return false; } }
(myattackpriority))
96
        {
97
            if (!instance_exists(obj_growtangle))
98
                instance_create(__view_get(e__VW.XView, 0) + 320, __view_get(e__VW.YView, 0) + 170, obj_growtangle);
99
            if (!instance_exists(obj_moveheart))
100
                
scr_moveheart
scr_moveheart

function
scr_moveheart()
{ global.inv = 0; if (global.chapter == 4 && (i_ex(obj_hammer_of_justice_enemy) || i_ex(obj_sound_of_justice_enemy))) return instance_create(obj_herosusie.x - 250, obj_herosusie.y + 40, obj_moveheart); else return instance_create(obj_herokris.x + 10, obj_herokris.y + 40, obj_moveheart); }
();
101
            global.mnfight = 2;
102
            
scr_turntimer
scr_turntimer

function
scr_turntimer(arg0)
{ if (global.turntimer < arg0) global.turntimer = arg0; }
(200);
103
        }
104
    }
105
    if (
scr_isphase
scr_isphase

function
scr_isphase(arg0)
{ __isphase = 0; if (arg0 == "menu" && global.myfight == 0) __isphase = 1; if (arg0 == "acting" && global.myfight == 3) __isphase = 1; if (arg0 == "victory" && global.myfight == 7) __isphase = 1; if (arg0 == "attack" || arg0 == "fight") { if (global.myfight == 1) __isphase = 1; } if (arg0 == "spell" || arg0 == "item") { if (global.myfight == 4) __isphase = 1; } if (arg0 == "enemytalk" || arg0 == "balloon") { if (global.mnfight == 1) __isphase = 1; } if (arg0 == "enemyattack" || arg0 == "bullets") { if (global.mnfight == 2) __isphase = 1; } return __isphase; }
("bullets") && attacked == 0)
106
    {
107
        rtimer += 1;
108
        if (rtimer == 12)
109
        {
110
            if (i_ex(obj_volumeup))
111
                myattackchoice = 1;
112
            if (myattackchoice == 0)
113
            {
114
                global.monsterattackname[myself] = "RibbickJump";
115
                dc = 
scr_bulletspawner
scr_bulletspawner

function
scr_bulletspawner(arg0, arg1, arg2)
{ __dc = instance_create(arg0, arg1, arg2); __dc.creator = myself; __dc.creatorid = id; __dc.target = mytarget; __dc.damage = global.monsterat[myself] * 5; return __dc; }
(x, y, obj_dbulletcontroller);
116
                dc.type = 108.5;
117
            }
118
            else if (myattackchoice == 1)
119
            {
120
                global.monsterattackname[myself] = "RibbickFly";
121
                dc = 
scr_bulletspawner
scr_bulletspawner

function
scr_bulletspawner(arg0, arg1, arg2)
{ __dc = instance_create(arg0, arg1, arg2); __dc.creator = myself; __dc.creatorid = id; __dc.target = mytarget; __dc.damage = global.monsterat[myself] * 5; return __dc; }
(x, y, obj_dbulletcontroller);
122
                dc.type = 109.5;
123
            }
124
            else if (myattackchoice == 2)
125
            {
126
                global.monsterattackname[myself] = "RabbickBounce";
127
                dc = 
scr_bulletspawner
scr_bulletspawner

function
scr_bulletspawner(arg0, arg1, arg2)
{ __dc = instance_create(arg0, arg1, arg2); __dc.creator = myself; __dc.creatorid = id; __dc.target = mytarget; __dc.damage = global.monsterat[myself] * 5; return __dc; }
(x, y, obj_dbulletcontroller);
128
                dc.type = 111.5;
129
            }
130
            
scr_turntimer
scr_turntimer

function
scr_turntimer(arg0)
{ if (global.turntimer < arg0) global.turntimer = arg0; }
(140);
131
            attackanim = true;
132
            turns += 1;
133
            noballoon = false;
134
            bet = false;
135
            fixedbet = false;
136
            cheat = false;
137
            global.typer = 6;
138
            global.fc = 0;
139
            rr = choose(0, 1, 2, 3, 4);
140
            if (amirabbick == false)
141
            {
142
                if (
scr_messagepriority
scr_messagepriority

function
scr_messagepriority(arg0)
{ if (i_ex(obj_battlecontroller)) { if (obj_battlecontroller.messagepriority < arg0) { obj_battlecontroller.messagepriority = arg0; return true; } else { return false; } } else { return false; } }
(random(2)))
143
                {
144
                    if (rr == 0)
145
                        global.battlemsg[0] = stringsetloc(
* Ribbick wants to be friends with a dancing trash can.
"* Ribbick wants to be friends with a dancing trash can.", "obj_ribbick_enemy_slash_Step_0_gml_155_0"
);
146
                    if (rr == 1)
147
                        global.battlemsg[0] = stringsetloc(
* The battlefield is filled with the smell of pungent mustard.
"* The battlefield is filled with the smell of pungent mustard.", "obj_ribbick_enemy_slash_Step_0_gml_156_0"
);
148
                    if (rr == 2)
149
                        global.battlemsg[0] = stringsetloc(
* Ribbick enriches the back stage floor with nutrients.
"* Ribbick enriches the back stage floor with nutrients.", "obj_ribbick_enemy_slash_Step_0_gml_157_0"
);
150
                    if (rr == 3)
151
                        global.battlemsg[0] = stringsetloc(
* Ribbick emits a groany must.
"* Ribbick emits a groany must.", "obj_ribbick_enemy_slash_Step_0_gml_158_0"
);
152
                }
153
                if (global.monsterhp[myself] <= (global.monstermaxhp[myself] / 3) && 
scr_messagepriority
scr_messagepriority

function
scr_messagepriority(arg0)
{ if (i_ex(obj_battlecontroller)) { if (obj_battlecontroller.messagepriority < arg0) { obj_battlecontroller.messagepriority = arg0; return true; } else { return false; } } else { return false; } }
(100 + random(2)))
154
                    global.battlemsg[0] = stringsetloc(
* Ribbick's getting dangerously clean.
"* Ribbick's getting dangerously clean.", "obj_ribbick_enemy_slash_Step_0_gml_160_0"
);
155
                if (global.mercymod[myself] >= global.mercymax[myself] && 
scr_messagepriority
scr_messagepriority

function
scr_messagepriority(arg0)
{ if (i_ex(obj_battlecontroller)) { if (obj_battlecontroller.messagepriority < arg0) { obj_battlecontroller.messagepriority = arg0; return true; } else { return false; } } else { return false; } }
(100 + random(2)))
156
                    global.battlemsg[0] = stringsetloc(
* Ribbick is dirtier than ever, but that's fine.
"* Ribbick is dirtier than ever, but that's fine.", "obj_ribbick_enemy_slash_Step_0_gml_161_0"
);
157
            }
158
            else
159
            {
160
                if (
scr_messagepriority
scr_messagepriority

function
scr_messagepriority(arg0)
{ if (i_ex(obj_battlecontroller)) { if (obj_battlecontroller.messagepriority < arg0) { obj_battlecontroller.messagepriority = arg0; return true; } else { return false; } } else { return false; } }
(random(2)))
161
                {
162
                    if (rr == 0)
163
                        global.battlemsg[0] = stringsetloc(
* Rabbick is looking for a couch to get stuck under.
"* Rabbick is looking for a couch to get stuck under.", "obj_ribbick_enemy_slash_Step_0_gml_177_0"
);
164
                    if (rr == 1)
165
                        global.battlemsg[0] = stringsetloc(
* The battlefield is filled with the smell of dusty mustard.
"* The battlefield is filled with the smell of dusty mustard.", "obj_ribbick_enemy_slash_Step_0_gml_178_0"
);
166
                    if (rr == 2)
167
                        global.battlemsg[0] = stringsetloc(
* Rabbick ambiently damages the soil.
"* Rabbick ambiently damages the soil.", "obj_ribbick_enemy_slash_Step_0_gml_179_0"
);
168
                    if (rr == 3)
169
                        global.battlemsg[0] = stringsetloc(
* Rabbick emits a musty groan.
"* Rabbick emits a musty groan.", "obj_ribbick_enemy_slash_Step_0_gml_180_0"
);
170
                }
171
                if (global.monsterhp[myself] <= (global.monstermaxhp[myself] / 3) && 
scr_messagepriority
scr_messagepriority

function
scr_messagepriority(arg0)
{ if (i_ex(obj_battlecontroller)) { if (obj_battlecontroller.messagepriority < arg0) { obj_battlecontroller.messagepriority = arg0; return true; } else { return false; } } else { return false; } }
(100 + random(2)))
172
                    global.battlemsg[0] = stringsetloc(
* Rabbick is starting to look wispy.
"* Rabbick is starting to look wispy.", "obj_ribbick_enemy_slash_Step_0_gml_182_0"
);
173
                if (global.mercymod[myself] >= global.mercymax[myself] && 
scr_messagepriority
scr_messagepriority

function
scr_messagepriority(arg0)
{ if (i_ex(obj_battlecontroller)) { if (obj_battlecontroller.messagepriority < arg0) { obj_battlecontroller.messagepriority = arg0; return true; } else { return false; } } else { return false; } }
(100 + random(2)))
174
                    global.battlemsg[0] = stringsetloc(
* Rabbick is now nice and clean.
"* Rabbick is now nice and clean. ", "obj_ribbick_enemy_slash_Step_0_gml_183_0"
);
175
            }
176
            attacked = 1;
177
        }
178
    }
179
    if (global.mnfight == 2 && global.turntimer > 1)
180
    {
181
        if (revealed == true && justrevealedtoberabbick == false)
182
        {
183
            justrevealedtoberabbick = true;
184
            global.battlemsg[0] = stringsetloc(
* Underneath the dust, it was really Rabbick!
"* Underneath the dust, it was really Rabbick!", "obj_ribbick_enemy_slash_Step_0_gml_172_0"
);
185
        }
186
    }
187
}
188
if (global.myfight == 3)
189
{
190
    xx = __view_get(e__VW.XView, 0);
191
    yy = __view_get(e__VW.YView, 0);
192
    if (acting == 1 && actcon == 0)
193
    {
194
        actcon = 1;
195
        if (amirabbick)
196
            msgsetloc(0, 
* RABBICK - This dusty bunny needs a bit of spring cleaning.Wait for inputClose Message
"* RABBICK - This dusty bunny needs a bit of spring cleaning./%", "obj_ribbick_enemy_slash_Step_0_gml_213_0"
);
197
        else
198
            msgsetloc(0, 
* RIBBICK - This dusty frog needs a bit of an autumn dirtying.Wait for inputClose Message
"* RIBBICK - This dusty frog needs a bit of an autumn dirtying./%", "obj_ribbick_enemy_slash_Step_0_gml_198_0"
);
199
        
scr_battletext_default
scr_battletext_default

function
scr_battletext_default()
{ global.fc = 0; global.typer = 4;
scr_battletext();
return battlewriter; }
();
200
    }
201
    if (acting == 2 && actcon == 0)
202
        acting = 100;
203
    if (acting == 3 && actcon == 0)
204
    {
205
        CroakOnX = true;
206
        acting = 100;
207
    }
208
    if (acting == 100)
209
    {
210
        msgsetsubloc(0, "* Press ~1 repeatedly with good timing!", 
scr_get_input_name
scr_get_input_name

function
scr_get_input_name(arg0)
{ var _control = "[?]"; if (global.is_console || obj_gamecontroller.gamepad_active) { _control = global.input_g[arg0]; if (_control == gp_padr) return "\\*D "; if (_control == gp_padl) return "\\*A "; if (_control == gp_padu) return "\\*W "; if (_control == gp_padd) return "\\*S "; if (_control == global.button0) return "\\*Z "; if (_control == global.button1) return "\\*X "; if (_control == global.button2) return "\\*C "; } var left_bracket = (global.lang == "en") ? "[" : "["; var right_bracket = (global.lang == "en") ? "]" : "]"; _control = left_bracket + global.asc_def[global.input_k[arg0]] + right_bracket; if (!is_string(_control)) _control = "[?]"; else return _control; }
(6), "obj_ribbick_enemy_slash_Step_0_gml_208_0");
211
        
scr_battletext_default
scr_battletext_default

function
scr_battletext_default()
{ global.fc = 0; global.typer = 4;
scr_battletext();
return battlewriter; }
();
212
        acting = 101;
213
        clocktimer = 11;
214
    }
215
    if (acting == 101)
216
    {
217
        if (blowamt > 0 && blowanimtimer <= 0)
218
            blowamt--;
219
        if (button3_p() == 1)
220
            presscount++;
221
        if (button3_p() == 1 && clocktimer >= 10 && presscount < 4)
222
        {
223
            clocktimer = 0;
224
            snd_stop(snd_whistlebreath);
225
            snd_play_x(snd_whistlebreath, 1, 1 + (blowamt / 100));
226
            onoff = 0;
227
            shakeamt = 5;
228
            blowamt += 18;
229
            blowbuffer = 2;
230
            blowanimtimer = 20;
231
            blow_wait = 1;
232
            if (CroakOnX == true)
233
            {
234
                with (obj_ribbick_enemy)
235
                {
236
                    blowanimtimer = 20;
237
                    shakeamt = 5;
238
                    onoff = 0;
239
                    repeat (6)
240
                        event_user(2);
241
                }
242
            }
243
            else
244
            {
245
                repeat (6)
246
                    event_user(2);
247
            }
248
        }
249
        presstimer++;
250
        if (presstimer == 30)
251
        {
252
            presstimer = 0;
253
            presscount = 0;
254
        }
255
        if (blow_wait == 1)
256
            blowtimer += 1.58;
257
        if (blowtimer > 100)
258
            blowtimer = 100;
259
        if (blowtimer == 100 || blowamt >= 100)
260
            acting = 102;
261
        if (blowamt >= 0)
262
            croakonsuccess = true;
263
    }
264
    if (acting == 102)
265
    {
266
        with (obj_writer)
267
            instance_destroy();
268
        if (blowamt > 100)
269
            blowamt = 100;
270
        blownaway = 0;
271
        var sparecount = 0;
272
        for (var i = 0; i < instance_number(obj_ribbick_enemy); i++)
273
        {
274
            enemy[i] = instance_find(obj_ribbick_enemy, i);
275
            if (global.mercymod[enemy[i].myself] >= 100)
276
                sparecount++;
277
        }
278
        if (CroakOnX == true)
279
        {
280
            with (obj_ribbick_enemy)
281
            {
282
                if (global.mercymod[myself] >= 100 && id != other.id)
283
                {
284
                    event_user(10);
285
                    other.blownaway = true;
286
                }
287
            }
288
        }
289
        if (global.mercymod[myself] >= 100)
290
        {
291
            sparedsprite = spr_ribbick_small;
292
            if (amirabbick)
293
                sparedsprite = spr_rabbick_enemy_spared;
294
            image_alpha = 0;
295
            
scr_spareanim
scr_spareanim

function
scr_spareanim()
{ spareanim = instance_create(x, y, obj_spareanim); spareanim.sprite_index = sprite_index; spareanim.sprite_index = sparedsprite; spareanim.image_index = 0; spareanim.image_xscale = image_xscale; spareanim.image_yscale = image_yscale; }
();
296
            blownaway = 1;
297
        }
298
        if (
scr_monsterpop
scr_monsterpop

function
scr_monsterpop()
{ return global.monster[0] + global.monster[1] + global.monster[2]; }
() == 0)
299
        {
300
            acting = 0;
301
            actcon = 1;
302
            extimer = 0;
303
        }
304
        else
305
        {
306
            if (CroakOnX == true)
307
            {
308
                with (obj_ribbick_enemy)
309
                {
310
                    if (sparedsprite == spr_ribbick_spare)
311
                    {
312
                        var _blowamt = round(other.blowamt * 0.64);
313
                        if (_blowamt > 100)
314
                            _blowamt = 100;
315
                        
scr_mercyadd
scr_mercyadd

function
scr_mercyadd(arg0, arg1)
{ global.mercymod[arg0] += arg1; if (global.mercymod[arg0] < 0) global.mercymod[arg0] = 0; if (global.mercymod[arg0] >= 100) global.mercymod[arg0] = 100; var _playsound = 1; if (arg1 <= 0) _playsound = 0; with (obj_dmgwriter) { if (type == 5 && mercytimer < 8) _playsound = 0; } if (_playsound) { var _pitch = 0.8; if (arg1 < 99) _pitch = 1; if (arg1 <= 50) _pitch = 1.2; if (arg1 <= 25) _pitch = 1.4; snd_play_x(snd_mercyadd, 0.8, _pitch); } __mercydmgwriter = instance_create(global.monsterx[arg0], (global.monstery[arg0] + 20) - (global.hittarget[arg0] * 20), obj_dmgwriter); __mercydmgwriter.damage = arg1; __mercydmgwriter.type = 5; global.hittarget[arg0]++; }
(myself, _blowamt);
316
                    }
317
                }
318
            }
319
            else if (sparedsprite == spr_ribbick_spare)
320
            {
321
                var _blowamt = round(other.blowamt * 0.64);
322
                if (_blowamt > 100)
323
                    _blowamt = 100;
324
                
scr_mercyadd
scr_mercyadd

function
scr_mercyadd(arg0, arg1)
{ global.mercymod[arg0] += arg1; if (global.mercymod[arg0] < 0) global.mercymod[arg0] = 0; if (global.mercymod[arg0] >= 100) global.mercymod[arg0] = 100; var _playsound = 1; if (arg1 <= 0) _playsound = 0; with (obj_dmgwriter) { if (type == 5 && mercytimer < 8) _playsound = 0; } if (_playsound) { var _pitch = 0.8; if (arg1 < 99) _pitch = 1; if (arg1 <= 50) _pitch = 1.2; if (arg1 <= 25) _pitch = 1.4; snd_play_x(snd_mercyadd, 0.8, _pitch); } __mercydmgwriter = instance_create(global.monsterx[arg0], (global.monstery[arg0] + 20) - (global.hittarget[arg0] * 20), obj_dmgwriter); __mercydmgwriter.damage = arg1; __mercydmgwriter.type = 5; global.hittarget[arg0]++; }
(myself, _blowamt);
325
            }
326
            if (croakonsuccess == true)
327
            {
328
                var rabbick_name = stringsetloc(
Rabbick
"Rabbick", "obj_ribbick_enemy_slash_Step_0_gml_291_0"
);
329
                if (CroakOnX == true)
330
                {
331
                    with (obj_ribbick_enemy)
332
                    {
333
                        if (global.mercymod[myself] >= 100)
334
                        {
335
                            if (amirabbick == true)
336
                            {
337
                                event_user(1);
338
                                sparedsprite = spr_rabbick_enemy_spared;
339
                                global.monstername[myself] = rabbick_name;
340
                            }
341
                            if (amirabbick == false)
342
                            {
343
                                sparedsprite = spr_ribbick_small;
344
                                hurtsprite = spr_ribbick_small_hurt;
345
                            }
346
                            blown = 1;
347
                        }
348
                    }
349
                }
350
                else if (global.mercymod[myself] >= 100)
351
                {
352
                    if (amirabbick == true)
353
                    {
354
                        event_user(1);
355
                        sparedsprite = spr_rabbick_enemy_spared;
356
                        global.monstername[myself] = rabbick_name;
357
                    }
358
                    if (amirabbick == false)
359
                    {
360
                        sparedsprite = spr_ribbick_small;
361
                        hurtsprite = spr_ribbick_small_hurt;
362
                    }
363
                    blown = 1;
364
                }
365
                repeat (15)
366
                    event_user(2);
367
            }
368
            acting = 103;
369
        }
370
        with (obj_ribbick_enemy)
371
        {
372
            blowing = 0;
373
            blowanimtimer = 0;
374
            blowtimer = 0;
375
        }
376
    }
377
    if (acting == 103 && !i_ex(obj_writer))
378
    {
379
        extimer++;
380
        if (extimer == 30)
381
        {
382
            if (blownaway)
383
                msgsetloc(0, 
* The enemy was blown away!Wait for inputClose Message
"* The enemy was blown away!/%", "obj_ribbick_enemy_slash_Step_0_gml_340_0"
);
384
            else if (global.mercymod[myself] >= 100 && amirabbick == true)
385
                msgsetloc(0, 
* What the!? It was an imposter!Wait for inputClose Message
"* What the!? It was an imposter!/%", "obj_ribbick_enemy_slash_Step_0_gml_343_0"
);
386
            else if (global.mercymod[myself] >= 100)
387
                msgsetloc(0, 
* It revealed its dirtier self!Wait for inputClose Message
"* It revealed its dirtier self!/%", "obj_ribbick_enemy_slash_Step_0_gml_344_0"
);
388
            else if (blowamt == 0)
389
                msgsetloc(0, 
* Nothing happened!Wait for inputClose Message
"* Nothing happened!/%", "obj_ribbick_enemy_slash_Step_0_gml_345_0"
);
390
            else
391
                msgsetloc(0, 
* It became even dirtier!Wait for inputClose Message
"* It became even dirtier!/%", "obj_ribbick_enemy_slash_Step_0_gml_346_0"
);
392
            
scr_battletext_default
scr_battletext_default

function
scr_battletext_default()
{ global.fc = 0; global.typer = 4;
scr_battletext();
return battlewriter; }
();
393
            acting = 0;
394
            actcon = 1;
395
            extimer = 0;
396
            with (obj_ribbick_enemy)
397
                blowamt = 0;
398
        }
399
    }
400
    if (actingsus == 1 && actconsus == 1)
401
    {
402
        
scr_mercyadd
scr_mercyadd

function
scr_mercyadd(arg0, arg1)
{ global.mercymod[arg0] += arg1; if (global.mercymod[arg0] < 0) global.mercymod[arg0] = 0; if (global.mercymod[arg0] >= 100) global.mercymod[arg0] = 100; var _playsound = 1; if (arg1 <= 0) _playsound = 0; with (obj_dmgwriter) { if (type == 5 && mercytimer < 8) _playsound = 0; } if (_playsound) { var _pitch = 0.8; if (arg1 < 99) _pitch = 1; if (arg1 <= 50) _pitch = 1.2; if (arg1 <= 25) _pitch = 1.4; snd_play_x(snd_mercyadd, 0.8, _pitch); } __mercydmgwriter = instance_create(global.monsterx[arg0], (global.monstery[arg0] + 20) - (global.hittarget[arg0] * 20), obj_dmgwriter); __mercydmgwriter.damage = arg1; __mercydmgwriter.type = 5; global.hittarget[arg0]++; }
(myself, 50);
403
        if (simultotal == 1)
404
        {
405
            msgsetloc(0, 
* Susie dirties the enemy further! It seemed to like it!Wait for inputClose Message
"* Susie dirties the enemy further! It seemed to like it!/%", "obj_ribbick_enemy_slash_Step_0_gml_364_0"
);
406
            
scr_battletext_default
scr_battletext_default

function
scr_battletext_default()
{ global.fc = 0; global.typer = 4;
scr_battletext();
return battlewriter; }
();
407
            actconsus = 20;
408
        }
409
        else
410
        {
411
            var rand = choose(0, 1, 2);
412
            if (rand == 0)
413
                msgsetloc(0, 
* Susie generates filth!
"* Susie generates filth!", "obj_ribbick_enemy_slash_Step_0_gml_371_0"
);
414
            if (rand == 1)
415
                msgsetloc(0, 
* Susie shows gum from her shoe!!
"* Susie shows gum from her shoe!!", "obj_ribbick_enemy_slash_Step_0_gml_372_0"
);
416
            if (rand == 2)
417
                msgsetloc(0, 
* Susie says dirty words!
"* Susie says dirty words!", "obj_ribbick_enemy_slash_Step_0_gml_373_0"
);
418
            
scr_simultext
scr_simultext

function
scr_simultext(arg0)
{ __simulorder = 0; if (arg0 == "kris") __simulorder = simulorderkri; if (arg0 == "susie") __simulorder = simulordersus; if (arg0 == "ralsei") __simulorder = simulorderral; if (arg0 == "noelle") __simulorder = simulordernoe; __yoffset = __simulorder * 30; global.typer = 4; battlewriter = instance_create(xx + 30, yy + 376 + __yoffset, obj_writer); }
("susie");
419
            if (simulordersus == 0)
420
                actconsus = 20;
421
            else
422
                actconsus = 0;
423
        }
424
        actingsus = 0;
425
    }
426
    if (actingral == 1 && actconral == 1)
427
    {
428
        extimer++;
429
        if (extimer == 1)
430
            
scr_mercyadd
scr_mercyadd

function
scr_mercyadd(arg0, arg1)
{ global.mercymod[arg0] += arg1; if (global.mercymod[arg0] < 0) global.mercymod[arg0] = 0; if (global.mercymod[arg0] >= 100) global.mercymod[arg0] = 100; var _playsound = 1; if (arg1 <= 0) _playsound = 0; with (obj_dmgwriter) { if (type == 5 && mercytimer < 8) _playsound = 0; } if (_playsound) { var _pitch = 0.8; if (arg1 < 99) _pitch = 1; if (arg1 <= 50) _pitch = 1.2; if (arg1 <= 25) _pitch = 1.4; snd_play_x(snd_mercyadd, 0.8, _pitch); } __mercydmgwriter = instance_create(global.monsterx[arg0], (global.monstery[arg0] + 20) - (global.hittarget[arg0] * 20), obj_dmgwriter); __mercydmgwriter.damage = arg1; __mercydmgwriter.type = 5; global.hittarget[arg0]++; }
(myself, 25);
431
        if (extimer == 2)
432
        {
433
            if (simultotal == 1)
434
            {
435
                msgsetloc(0, 
* Ralsei tried to clean the enemy! It became TIRED...Wait for inputClose Message
"* Ralsei tried to clean the enemy! It became TIRED.../%", "obj_ribbick_enemy_slash_Step_0_gml_391_0"
);
436
                
scr_battletext_default
scr_battletext_default

function
scr_battletext_default()
{ global.fc = 0; global.typer = 4;
scr_battletext();
return battlewriter; }
();
437
                actconral = 20;
438
            }
439
            else
440
            {
441
                var rand = choose(0, 1, 2);
442
                if (rand == 0)
443
                    msgsetloc(0, 
* Ralsei tries tidying up!
"* Ralsei tries tidying up!", "obj_ribbick_enemy_slash_Step_0_gml_398_0"
);
444
                if (rand == 1)
445
                    msgsetloc(0, 
* Ralsei uses a feather duster!
"* Ralsei uses a feather duster!", "obj_ribbick_enemy_slash_Step_0_gml_399_0"
);
446
                if (rand == 2)
447
                    msgsetloc(0, 
* Ralsei croaks sympathetically!
"* Ralsei croaks sympathetically!", "obj_ribbick_enemy_slash_Step_0_gml_400_0"
);
448
                
scr_simultext
scr_simultext

function
scr_simultext(arg0)
{ __simulorder = 0; if (arg0 == "kris") __simulorder = simulorderkri; if (arg0 == "susie") __simulorder = simulordersus; if (arg0 == "ralsei") __simulorder = simulorderral; if (arg0 == "noelle") __simulorder = simulordernoe; __yoffset = __simulorder * 30; global.typer = 4; battlewriter = instance_create(xx + 30, yy + 376 + __yoffset, obj_writer); }
("ralsei");
449
                if (simulorderral == 0)
450
                    actconral = 20;
451
                else
452
                    actconral = 0;
453
            }
454
            if (global.monsterstatus[myself] != 1)
455
                
scr_monster_make_tired
scr_monster_make_tired

function
scr_monster_make_tired(arg0)
{ if (global.monsterstatus[arg0] == 0) { __tiredwriter = instance_create(global.monsterx[arg0], (global.monstery[arg0] - (global.hittarget[arg0] * 20)) + 20, obj_dmgwriter); __tiredwriter.type = 13; global.hittarget[arg0] += 1; snd_play_x(snd_spellcast, 0.5, 0.9); } global.monstercomment[arg0] = stringsetloc(
(Tired)
"(Tired)", "scr_monster_make_tired_slash_scr_monster_make_tired_gml_1_0"
);
global.monsterstatus[arg0] = 1; }
(myself);
456
            actingral = 0;
457
            extimer = 0;
458
        }
459
    }
460
    if (actcon == 20 || actconsus == 20 || actconral == 20)
461
    {
462
        if (
scr_terminate_writer
scr_terminate_writer

function
scr_terminate_writer()
{ __writerkilled = 0; __writerkillable = 0; __writerended = 0; if (instance_exists(obj_writer)) { obj_writer.__endcheckid = id; with (obj_writer) { if (reachedend == 1) { with (__endcheckid) __writerended++; } } if (__writerended == instance_number(obj_writer)) __writerkillable = 1; } else { __writerkilled = 1; } if (button1_p() && __writerkillable == 1) { with (obj_writer) instance_destroy(); __writerkilled = 1; } return __writerkilled; }
())
463
        {
464
            actconsus = -1;
465
            actconral = -1;
466
            actcon = 1;
467
        }
468
    }
469
    if (actcon == 1 && !instance_exists(obj_writer))
470
    {
471
        if (blownaway == 1)
472
        {
473
            blownaway = 0;
474
            
scr_recruit
scr_recruit

function
scr_recruit()
{ if (recruitable == 1 && global.flag[61 disable_recruiting] == 0) { if (global.flag[global.monstertype[myself] + 600] >= 0(None) && global.flag[global.monstertype[myself] + 600] < 1 && recruitcount > 0) { if (recruitcount == -1) {
scr_recruit_info(global.monstertype[myself]);
recruitcount = _recruitcount; } global.flag[global.monstertype[myself] + 600] += 1Enemy (placeholder/G-BODY) / recruitcount; if (global.flag[global.monstertype[myself] + 600] > 1) global.flag[global.monstertype[myself] + 600] = 1Enemy (placeholder/G-BODY); snd_play(snd_sparkle_gem); _recruitanim = instance_create(global.monsterx[myself], global.monstery[myself] - 40, obj_recruitanim); _recruitanim.firstnumber = round(global.flag[global.monstertype[myself] + 600] / (1 / recruitcount)); _recruitanim.secondnumber = recruitcount; } } }
();
475
            
scr_monsterdefeat
scr_monsterdefeat

function
scr_monsterdefeat()
{ if (global.monster[myself] == 1) { debug_message("=====Encounter Results====="); global.monstergold[3] += global.monstergold[myself]; global.monsterexp[3] += global.monsterexp[myself]; global.monster[myself] = 0; if (global.flag[51 + myself] == 0) { global.flag[51 + myself] = 2; if (global.monsterhp[myself] <= 0) global.flag[51 + myself] = 1; } if (global.flag[51 + myself] == 1) { global.flag[40 violences] += 1; if (fatal == 1) global.flag[44 kills]++; } if (global.flag[51 + myself] == 2) global.flag[41 spares] += 1; if (global.flag[51 + myself] == 3) global.flag[42 pacifies] += 1; if (global.flag[51 + myself] == 5) global.flag[43 autosusie_violences] += 1; if (global.flag[51 + myself] == 6) { global.flag[45 freezes] += 1; global.monstergold[3] += 24; } if (
scr_monsterpop() == 0)
{ _amt_add = 0; _frozened = 0; _violenced = 0; _spared = 0; _pacified = 0; for (d_i = 0; d_i < 3; d_i += 1) { if (global.flag[51 + d_i] != 0) _amt_add += 1; if (global.flag[51 + d_i] == 1) _violenced += 1; if (global.flag[51 + d_i] == 2) _spared += 1; if (global.flag[51 + d_i] == 3) _pacified += 1; if (global.flag[51 + d_i] == 6) _frozened += 1; } if (_frozened > 0) global.flag[50 last_encounter_end] = 6; if (_pacified > 0) global.flag[50 last_encounter_end] = 3; if (_spared > 0) global.flag[50 last_encounter_end] = 2; if (_violenced > 0) global.flag[50 last_encounter_end] = 1; if (global.flag[50 last_encounter_end] == 6) global.flag[926 iceshocked_encounters]++; if (global.flag[54 encounter_pointer] != 0) { global.flag[global.flag[54 encounter_pointer]] = global.flag[50 last_encounter_end]; debug_message("=====Encounter Results====="); debug_message("encounter flag: global.flag[" + string(global.flag[54 encounter_pointer]) + "]=" + string(global.flag[50 last_encounter_end])); debug_message("======="); global.flag[54 encounter_pointer] = 0; } } event_user(11); debug_message("======="); } }
();
476
            instance_destroy();
477
        }
478
        
scr_nextact
scr_nextact

function
scr_nextact()
{ global.acting[0] = 0; global.acting[1] = 0; global.acting[2] = 0; global.actingsingle[global.currentactingchar] = 0; __minstance = global.monsterinstance[global.actingtarget[global.currentactingchar]]; with (__minstance) { acting = 0; actcon = 0; actconsus = 0; actconral = 0; actconnoe = 0; } var singleactcomplete = 0; while (global.currentactingchar < 3) { global.currentactingchar++; if (global.currentactingchar < 3) { if (global.actingsingle[global.currentactingchar] == 1) { __minstance = global.monsterinstance[global.actingtarget[global.currentactingchar]]; if (global.char[global.currentactingchar] == 2) { with (__minstance) actconsus = 1; if (global.actingsimul[global.currentactingchar] == 0) singleactcomplete = 1; break; } if (global.char[global.currentactingchar] == 3) { with (__minstance) actconral = 1; if (global.actingsimul[global.currentactingchar] == 0) singleactcomplete = 1; break; } if (global.char[global.currentactingchar] == 4) { with (__minstance) actconnoe = 1; if (global.actingsimul[global.currentactingchar] == 0) singleactcomplete = 1; break; } } } } if (i_ex(obj_sound_of_justice_enemy) && obj_sound_of_justice_enemy.phase == 1) { global.charturn = 3; global.myfight = 3; global.currentactingchar = 0; if (global.acting[0] == 0)
scr_nextact();
if (global.acting[0] == 1 && global.actingsimul[0] == 1)
scr_act_simul();
exit; } if (global.currentactingchar >= 3) { with (obj_monsterparent) { acting = 0; actingsus = 0; actingral = 0; actingnoe = 0; } global.currentactingchar = 0;
scr_attackphase();
} else if (!singleactcomplete) {
scr_act_simul();
} }
();
479
    }
480
}
481
if (state == 3)
482
{
483
    
scr_enemyhurt_tired_after_damage
scr_enemyhurt_tired_after_damage

function
scr_enemyhurt_tired_after_damage(arg0)
{ if (global.monsterhp[myself] <= (global.monstermaxhp[myself] * arg0))
scr_monster_make_tired(myself);
}
(0.5);
484
    
scr_enemy_hurt
scr_enemy_hurt

function
scr_enemy_hurt()
{ hurttimer -= 1; if (hurttimer < 0) { state = 0; } else { if (global.monster[myself] == 0)
scr_defeatrun();
hurtshake += 1; if (hurtshake > 1) { if (shakex > 0) shakex -= 1; if (shakex < 0) shakex += 1; shakex = -shakex; hurtshake = 0; } } }
();
485
}
486
487
enum e__VW
488
{
489
    XView,
490
    YView,
491
    WView,
492
    HView,
493
    Angle,
494
    HBorder,
495
    VBorder,
496
    HSpeed,
497
    VSpeed,
498
    Object,
499
    Visible,
500
    XPort,
501
    YPort,
502
    WPort,
503
    HPort,
504
    Camera,
505
    SurfaceID
506
}