SHOW:
|
|
- or go back to the newest paste.
1 | - | #define SCR_NEWLINE |
1 | + | define SCR_NEWLINE |
2 | myx = writingx | |
3 | myy = (myy + vspacing) | |
4 | lineno = (lineno + 1) | |
5 | define SCR_TEXTSETUP | |
6 | - | #define SCR_TEXTSETUP |
6 | + | |
7 | mycolor=argument1 // variable color | |
8 | writingx = argument2 //top left x coord | |
9 | writingy = argument3 //top left y coord | |
10 | writingxend = argument4 //right boundingbox | |
11 | shake=argument5 //amount of text shaking | |
12 | textspeed=argument6 //rate of text parse | |
13 | txtsound=argument7 //what default sound | |
14 | spacing=argument8 //text spacing | |
15 | vspacing=argument9 //vertical spacing yep, old default was 25 | |
16 | ||
17 | define SCR_TEXT | |
18 | - | #define SCR_TEXT |
18 | + | |
19 | { | |
20 | case argument0=0: | |
21 | break; | |
22 | case argument0=1: | |
23 | global.msg[0]="\XLa, la.^3 &Time to wake&up and\R smell\X &the^4 pain./"; | |
24 | global.msg[1]="* Though^2.^4.^6.^8.&It's still a&little shaky./"; | |
25 | global.msg[2]="fhuehfuehfuehfuheufhe/%"; | |
26 | global.msg[3]="%%%"; | |
27 | break; | |
28 | case argument0=2: | |
29 | global.msg[0]="* TestMonster and its cohorts&draw near!"; | |
30 | global.msg[1]="%%%"; | |
31 | break; | |
32 | case argument0=3: //monster names | |
33 | global.msg[0] = " " | |
34 | if global.monster[0] = 1 then | |
35 | { | |
36 | global.msg[0]=" * " + global.monstername[0]; | |
37 | if global.monstertype[0] = global.monstertype[1] or global.monstertype[0] = global.monstertype[2] then global.msg[0]+=" A" | |
38 | } | |
39 | global.msg[0]+=" &" | |
40 | if global.monster[1] = 1 then | |
41 | { | |
42 | global.msg[0]+=" * " + global.monstername[1]; | |
43 | if global.monstertype[1] = global.monstertype[0] then global.msg[0]+=" B" | |
44 | } | |
45 | global.msg[0]+=" &" | |
46 | if global.monster[2] = 1 then | |
47 | { | |
48 | global.msg[0]+=" * " + global.monstername[2]; | |
49 | if global.monstertype[2] = global.monstertype[1] then global.msg[0]+=" C" | |
50 | } | |
51 | global.msg[1]="%%%"; | |
52 | break; | |
53 | ||
54 | case argument0=7: | |
55 | global.msg[0]=" * Spare" | |
56 | if global.mercy=0 then global.msg[0]+="& * Flee" | |
57 | break; | |
58 | ||
59 | case argument0=9: //itemnames for first menu | |
60 | global.msg[0] = " * " + global.itemnameb[0] + " " | |
61 | if global.item[1]!=0 then global.msg[0]+= "* " + global.itemnameb[1] | |
62 | global.msg[0]+=" &" | |
63 | if global.item[2]!=0 then global.msg[0]+= " * " + global.itemnameb[2] +" " | |
64 | if global.item[3]!=0 then global.msg[0]+= "* " + global.itemnameb[3] | |
65 | global.msg[0]+=" & PAGE 1" | |
66 | global.msg[1]="%%%" | |
67 | break; | |
68 | case argument0=10: //itemnames for second menu | |
69 | global.msg[0] = " * " + global.itemnameb[4] + " " | |
70 | if global.item[5]!=0 then global.msg[0]+= "* " + global.itemnameb[5] | |
71 | global.msg[0]+=" &" | |
72 | if global.item[6]!=0 then global.msg[0]+= " * " + global.itemnameb[6] +" " | |
73 | if global.item[7]!=0 then global.msg[0]+= "* " + global.itemnameb[7] | |
74 | global.msg[0]+=" & PAGE 2" | |
75 | global.msg[1]="%%%" | |
76 | break; | |
77 | ||
78 | case argument0=11: //recovery item add | |
79 | global.msg[0] += " &" | |
80 | if global.item[8] < 9990 then | |
81 | { | |
82 | global.msg[0] += "* You recovered " + string(global.item[8]) + " HP!/%" | |
83 | } | |
84 | else global.msg[0] += "* Your HP was maxed out./%" | |
85 | break; | |
86 | ||
87 | case argument0=12: //throwing away an item | |
88 | i=round(random(14)) | |
89 | if i=0 then global.msg[0]="* You bid a quiet farewell& to the " + global.itemname[global.menucoord[1]] + "." | |
90 | if i=1 then global.msg[0]="* You put the " + global.itemname[global.menucoord[1]] + "& on the ground and gave it a& little pat." | |
91 | // if i=2 then global.msg[0]="* Nothing but somber goodbyes& for the " + global.itemname[global.menucoord[1]] + "." | |
92 | if i=2 then global.msg[0]="* You threw the " + global.itemname[global.menucoord[1]] + "& on the ground like the piece& of trash it is." | |
93 | if i=3 then global.msg[0]="* You abandoned the & " + global.itemname[global.menucoord[1]] + "." | |
94 | if i>3 then global.msg[0]="* The " + global.itemname[global.menucoord[1]] + " was& thrown away." | |
95 | global.msg[0]+="/%" | |
96 | break; | |
97 | ||
98 | ||
99 | case argument0=14: //RUNNING AWAY | |
100 | i=round(random(20)) | |
101 | if i=0 or i=1 then global.msg[0]=" * I'm outta here." | |
102 | if i=2 then global.msg[0]=" * I've got better to do." | |
103 | if i>3 then global.msg[0]=" * Escaped..." | |
104 | if i=3 then global.msg[0]=" * Don't slow me down." | |
105 | break; | |
106 | ||
107 | case argument0=15: //save pt | |
108 | if room=room_ruins1 then global.msg[0]="* (The shadow of the ruins& looms above^1, filling you with& determination.)/%%" | |
109 | if room=room_ruins7 then global.msg[0]="* (Playfully crinkling through& the leaves fills you with& determination.)/%%" | |
110 | if room=room_ruins12A then { global.msg[0]="* (Knowing the mouse might one& day leave its hole and& get the cheese...)/"; global.msg[1]="* (It fills you with& determination.)/%%"; } | |
111 | if room=room_ruins19 then global.msg[0]="* (Seeing such a cute^1, tidy& house in the RUINS gives& you determination.)/%%" | |
112 | if global.flag[202]>=monsterpopulation1 then global.msg[0]="* Determination./%%" | |
113 | break; | |
114 | ||
115 | case argument0=16: //putting away an item | |
116 | i=round(random(14)) | |
117 | script_execute(scr_itemname) | |
118 | if i<=12 then global.msg[0]="* The " + global.itemname[global.menucoord[6]] + " was& put away." | |
119 | if i>12 then global.msg[0]="* The " + global.itemname[global.menucoord[6]] + " was& tossed inside recklessly." | |
120 | if i>13 then global.msg[0]="* The " + global.itemname[global.menucoord[6]] + " was& placed thoughtfully inside." | |
121 | global.msg[0]+="/%" | |
122 | break; | |
123 | ||
124 | case argument0=17: //getting an item | |
125 | i=round(random(14)) | |
126 | script_execute(scr_storagename,300) | |
127 | if i<=12 then global.msg[0]="* The " + global.itemname[global.menucoord[7]] + " was& taken out." | |
128 | if i>12 then global.msg[0]="* The " + global.itemname[global.menucoord[7]] + " was& grabbed impatiently." | |
129 | if i>13 then global.msg[0]="* The " + global.itemname[global.menucoord[7]] + " was& taken out and held like a& small puppy." | |
130 | global.msg[0]+="/%" | |
131 | break; | |
132 | ||
133 | case argument0=18: //can't carry any more | |
134 | global.msg[0]="* You can't carry any more./%%" | |
135 | break; | |
136 | ||
137 | case argument0=19: //can't carry any more | |
138 | global.msg[0]="* The box is full./%%" | |
139 | break; | |
140 | ||
141 | case argument0=30: //itembox1 | |
142 | global.msg[0]="* Use the box?& & Yes No \C /" | |
143 | global.msg[1]=" " | |
144 | global.msg[2]=" " | |
145 | break; | |
146 | ||
147 | case argument0=31: //itembox2 | |
148 | if global.choice=0 then | |
149 | { | |
150 | global.msg[0]="* What to do?& & Put in Take out\C /" | |
151 | global.msg[1]=" " | |
152 | global.msg[2]=" " | |
153 | } | |
154 | if global.choice=1 then global.msg[0]="%%" | |
155 | break; | |
156 | ||
157 | case argument0=32: //itembox2 | |
158 | if global.choice=0 then | |
159 | { | |
160 | if instance_exists(obj_storagemenu)==false | |
161 | instance_create(0,0,obj_storagemenu) | |
162 | obj_storagemenu.j=1 | |
163 | global.menucoord[6]=0 | |
164 | global.msg[0]="%%" | |
165 | } | |
166 | if global.choice=1 then | |
167 | { | |
168 | if instance_exists(obj_storagemenu)==false | |
169 | instance_create(0,0,obj_storagemenu) | |
170 | obj_storagemenu.j=2 | |
171 | global.menucoord[7]=0 | |
172 | global.msg[0]="%%" | |
173 | } | |
174 | break; | |
175 | ||
176 | ||
177 | ||
178 | // main script | |
179 | ||
180 | case argument0=200: //flowey's first message | |
181 | global.msg[0]="\W* Howdy^2!&* I'm\Y FLOWEY\W.^2 &* \YFLOWEY\W the \YFLOWER\W!/" | |
182 | global.msg[1]="* Hmmm.../" | |
183 | global.msg[2]="* You're new to the& UNDERGROUND^2, aren'tcha?/" | |
184 | global.msg[3]="* Golly^1, you must be& so confused./" | |
185 | global.msg[4]="* Someone ought to teach& you how things work& around here!/" | |
186 | global.msg[5]="* I guess little old me& will have to do./" | |
187 | global.msg[6]="* Ready^2?&* Here we go!/%%" | |
188 | break; | |
189 | ||
190 | case argument0=201: //toriel says "this way" | |
191 | global.msg[0]="\E2* This way./%%" | |
192 | global.msg[1]="%%%" | |
193 | break; | |
194 | ||
195 | case argument=202: //toriel from here on | |
196 | global.msg[0]="\E2* Welcome to your new& home^1, innocent one./" | |
197 | global.msg[1]="* Allow me to educate you& in the operation of the& RUINS./%%" | |
198 | break; | |
199 | ||
200 | case argument=203: | |
201 | global.msg[0]="\E2* The RUINS are full of& puzzles./" | |
202 | global.msg[1]="* Ancient fusions between & diversions and doorkeys./" | |
203 | global.msg[2]="* One must solve them& to move from room to& room./" | |
204 | global.msg[3]="* Please adjust yourself to the sight of them./%" | |
205 | break; | |
206 | ||
207 | case argument=204: | |
208 | global.msg[0]="\E2* To make progress here,^1 & you will need to trigger& several switches./" | |
209 | global.msg[1]="* Do not worry,^1 I have & labelled the ones that& you need to flip./%" | |
210 | break; | |
211 | ||
212 | case argument=205: | |
213 | global.msg[0]="\E2* The first switch is over& on the wall./%" | |
214 | break; | |
215 | ||
216 | case argument=206: | |
217 | global.msg[0]="\E1* Do you need some help..^1?&* Press the switch on the wall./" | |
218 | global.msg[1]="\E0* Come on^1, you can do it!/%" | |
219 | break; | |
220 | ||
221 | case argument=207: | |
222 | global.msg[0]="\E2* Go on^1, press the switch& on the left./%" | |
223 | break; | |
224 | case argument=208: | |
225 | global.msg[0]="\E1* You do know which way& left is^1, do you not?/" | |
226 | global.msg[1]="\E0* Press the switch that I& labelled for you./%" | |
227 | break; | |
228 | ||
229 | case argument=209: | |
230 | global.msg[0]="\E1* You are very curious,^1 & are you not?/" | |
231 | global.msg[1]="\E1* Please understand.^2 & \E0I only want the best& for you./%" | |
232 | break; | |
233 | ||
234 | case argument=210: | |
235 | global.msg[0]="\E0* Splendid!^2 &* I am proud of you,^1 & little one./" | |
236 | global.msg[1]="* Let us move to the& next room./%" | |
237 | break; | |
238 | ||
239 | case argument=211: | |
240 | global.msg[0]="\E1* As a human living in& the UNDERGROUND,^1 & monsters may attack you./" | |
241 | global.msg[1]="\E2* You will need to be& prepared for this& situation./" | |
242 | global.msg[2]="\E0* However, worry not!^2 &* The process is simple./" | |
243 | global.msg[3]="\E2* When you encounter a & monster,^1 you will enter& a FIGHT./" | |
244 | global.msg[4]="* While you are in a& FIGHT^1, strike up a& friendly conversation./" | |
245 | global.msg[5]="\E2* Stall for time.& I will come to resolve& the conflict./" | |
246 | global.msg[6]="\E2* Practice talking to& the dummy./%" | |
247 | break; | |
248 | ||
249 | case argument=212: | |
250 | if global.flag[12]=1 | |
251 | { | |
252 | global.msg[0]="\E1* Ahh,^1 the dummies are& not for fighting!^2 &* They are for talking!/" | |
253 | global.msg[1]="* We do not want to hurt& anybody, do we...?^2 \E0 &* Come now./%" | |
254 | } | |
255 | if global.flag[10]=1 | |
256 | { | |
257 | global.msg[0]="\E0* Ah,^1 very good!^2 &* You are very good./%" | |
258 | } | |
259 | if global.flag[11]=1 | |
260 | { | |
261 | global.msg[0]="\E1* .../" | |
262 | global.msg[1]="\E1* ... you ran away.../" | |
263 | global.msg[2]="\E0* Truthfully^1, that was& not a poor choice./" | |
264 | global.msg[3]="\E0* It is better to& avoid conflict& whenever possible./" | |
265 | global.msg[4]="\E1* That..^1. however^1, is& only a dummy^2.&* It cannot harm you./" | |
266 | global.msg[5]="\E1* It is made of cotton^1.&* It has no desire& for revenge.../" | |
267 | global.msg[6]="\E0* Nevermind^2.&* Stay close to me and& I will keep you safe./%" | |
268 | } | |
269 | if global.flag[13]=1 | |
270 | { | |
271 | global.msg[0]="\E3* ^1.^1.^1./" | |
272 | global.msg[1]="\E4* ^1.^1.^1./" | |
273 | global.msg[2]="\E0* The next room awaits./%" | |
274 | } | |
275 | break; | |
276 | ||
277 | case argument=213: | |
278 | global.msg[0]="\E2* Practice talking to& the dummy./" | |
279 | global.msg[1]="\E1* You can say anything..^2.\E2 &* I do not think the dummy& will be bothered./%" | |
280 | break; | |
281 | ||
282 | ||
283 | case argument=214: | |
284 | global.msg[0]="\E0* Do you need some& ideas for conversation& topics?/" | |
285 | global.msg[1]="* Well^1, I often start with& a simple 'how do you& do...'/" | |
286 | global.msg[2]="* You could ask them about& their favorite books.../" | |
287 | global.msg[3]="* Jokes can be useful for& 'breaking the ice.'/" | |
288 | global.msg[4]="* Listen to this one.../" | |
289 | global.msg[5]="* What did the skeleton& tile his roof with?/" | |
290 | global.msg[6]="* ... SHIN-gles!/" | |
291 | global.msg[7]="\E1* .../" | |
292 | global.msg[8]="\E0* Well^1, I thought it& was amusing./%" | |
293 | break; | |
294 | ||
295 | case argument=215: | |
296 | global.msg[0]="\E2* Practice talking to& the dummy./" | |
297 | global.msg[1]="\E1* You can say anything..^2.\E0 &* The dummy will not& be bothered./%" | |
298 | break; | |
299 | ||
300 | case argument=216: | |
301 | global.msg[0]="\E1* There is another puzzle& in this room.../" | |
302 | global.msg[1]="\E0* I wonder if you can& solve it?/%" | |
303 | break; | |
304 | ||
305 | case argument=217: | |
306 | global.msg[0]="\E1* This is the puzzle^1,& but.../" | |
307 | global.msg[1]="\E0* Here^1, take my hand& for a moment./%" | |
308 | break; | |
309 | ||
310 | case argument=218: | |
311 | global.msg[0]="\E1* Puzzles seem a little& too dangerous for& now./%" | |
312 | break; | |
313 | ||
314 | case argument=219: | |
315 | global.msg[0]=".../%" | |
316 | break; | |
317 | ||
318 | case argument=220: | |
319 | global.msg[0]="\E2* Greetings,^1 my child^2.&* Do not worry^1, I did& not leave you./" | |
320 | global.msg[1]="\E0* I was merely behind this& pillar the whole time./" | |
321 | global.msg[2]="* Thank you for trusting& me./" | |
322 | global.msg[3]="\E2* However^1, there was an& important reason for& this exercise./" | |
323 | global.msg[4]="* ... to test your& independence./" | |
324 | global.msg[5]="\E1* I must attend to some& business^1, and you must& stay alone for a while./" | |
325 | global.msg[6]="\E0* Please remain here^2.&*\E1 It's dangerous to& explore by yourself./" | |
326 | global.msg[7]="\E0* I have an idea^2.&* I will give you a& CELL PHONE./" | |
327 | global.msg[8]="* If you have a need for& anything^1, just call./" | |
328 | global.msg[9]="\E1* Be good^1, alright?/%" | |
329 | break; | |
330 | ||
331 | case argument=221: | |
332 | global.msg[0]="\E0* You have done& excellently thus& far^1, my child./" | |
333 | global.msg[1]="\E2* However... I have a& difficult request to ask& of you./" | |
334 | global.msg[2]="* .../" | |
335 | global.msg[3]="* I would like you to walk& to the end of the room& by yourself./" | |
336 | global.msg[4]="\E1* Forgive me for this./%" | |
337 | break; | |
338 | ||
339 | case argument=222: | |
340 | global.msg[0]="* Ring..\E0.\TT /" | |
341 | global.msg[1]="\F1 %" | |
342 | global.msg[2]="* Hello?&* This is TORIEL./" | |
343 | global.msg[3]="* For no reason in& particular...&* Which do you prefer?/" | |
344 | global.msg[4]="* Cinnamon or& butterscotch?& Cinnamon Bscotch \C /" | |
345 | global.msg[5]=" " | |
346 | break; | |
347 | ||
348 | case argument=223: | |
349 | if global.choice=0 then global.flag[46]=0 | |
350 | if global.choice=1 then global.flag[46]=1 | |
351 | global.msg[0]="* Oh^1, I see.&* Thank you very much!/" | |
352 | global.msg[1]="\TS \F0 \T0 %" | |
353 | global.msg[2]="* Click.../%%" | |
354 | global.msg[5]="* /" | |
355 | break; | |
356 | ||
357 | ||
358 | case argument0=500: //flowers | |
359 | global.msg[0]="* Beautiful flowers^2.&* They must have& broken your fall./%%" | |
360 | global.msg[1]="%%%" | |
361 | break; | |
362 | ||
363 | case argument0=501: //sign | |
364 | global.msg[0]='* "Press [Z] to read signs!"/%%' | |
365 | break; | |
366 | ||
367 | case argument0=502: //pillar1 | |
368 | global.msg[0]='* Just a regular old pillar./%%' | |
369 | break; | |
370 | ||
371 | case argument0=503: //sign1 | |
372 | global.msg[0]="* Please don't step on the& leaves./%%" | |
373 | break; | |
374 | ||
375 | case argument0=504: //sign1 | |
376 | global.msg[0]="* Didn't you read the sign& downstairs?/%%" | |
377 | break; | |
378 | ||
379 | case argument0=505: //goofyrock | |
380 | conversation=obj_goofyrock.conversation | |
381 | if global.flag[33]=0 then | |
382 | { | |
383 | if conversation=0 then | |
384 | { | |
385 | global.msg[0]="* WHOA there^1, pardner^2!&* Who said you could push& me around?/" | |
386 | global.msg[1]="* HMM^2?&* So you're ASKIN' me to& move over?/" | |
387 | global.msg[2]="* Okay^1, just for you^1,& pumpkin./%%" | |
388 | } | |
389 | if conversation=3 then | |
390 | { | |
391 | global.msg[0]="* HMM^2?&* You want me to move some& more?/" | |
392 | global.msg[1]="* Alrighty^1, how's this?/%%" | |
393 | } | |
394 | if conversation=6 then | |
395 | { | |
396 | global.msg[0]="* HMM^2?&* That was the wrong direction?/" | |
397 | global.msg[1]="* Okay^1, think I got it./%%" | |
398 | } | |
399 | if conversation=9 then | |
400 | global.msg[0]="* Was that helpful?/%%" | |
401 | if conversation=12 then | |
402 | { | |
403 | global.msg[0]="* HMM^2?&* You wanted me to STAY there?/" | |
404 | global.msg[1]="* You're giving me a real& workout./%%" | |
405 | } | |
406 | } | |
407 | else | |
408 | global.msg[0]="* Aren't things easier when& you just ask?/%%" | |
409 | break; | |
410 | ||
411 | case argument0=508: | |
412 | doak=0 | |
413 | noroom=0 | |
414 | if global.flag[34]<4 then | |
415 | { | |
416 | global.msg[0]="*'Take one.'&* Take a candy?& Yes No \C" | |
417 | if global.flag[34]=0 then global.msg[0]="* It says 'take one.'&* Take a piece of candy?& Yes No \C" | |
418 | } | |
419 | else global.msg[0]="* Look at what you've done./%%" | |
420 | break; | |
421 | ||
422 | case argument0=509: | |
423 | if global.choice=0 then | |
424 | { | |
425 | if global.flag[34]<4 then | |
426 | { | |
427 | if doak=0 then | |
428 | { | |
429 | doak=1 | |
430 | script_execute(scr_itemget,1) | |
431 | if noroom=0 then global.flag[34]+=1 | |
432 | } | |
433 | } | |
434 | if noroom=0 then | |
435 | { | |
436 | if global.flag[34]=1 then global.msg[0]="* You took a piece of candy.&* (Press [C] to open the menu.)/%%" | |
437 | if global.flag[34]=2 then global.msg[0]="* You took more candy^1.&* How disgusting../%%" | |
438 | if global.flag[34]=3 then global.msg[0]="* You take another piece.&* You feel like the& scum of the earth.../%%" | |
439 | if global.flag[34]=4 then global.msg[0]="* You took too much too fast.&* The candy spills onto& the floor./%%" | |
440 | } | |
441 | if noroom=1 then global.msg[0]="* You tried to take a piece& of candy^1, but you didn't& have any room./%%" | |
442 | } | |
443 | if global.choice=1 then | |
444 | { | |
445 | global.msg[0]="* You decided not to take some./%%" | |
446 | } | |
447 | break; | |
448 | ||
449 | case argument0=510: | |
450 | global.msg[0]="* zzzzzzzzzzzzzzz..^1.&* zzzzzzzzzzzzzz.../" | |
451 | global.msg[1]="* zzzzzzzzzz..^1.&* (are they gone yet^1)&* zzzzzzzzzzzzzzz.../" | |
452 | global.msg[2]="* (This ghost keeps saying 'z'& out loud repeatedly^1,& pretending to sleep.)/" | |
453 | global.msg[3]="* Move it with force?& & Yes No \C" | |
454 | break; | |
455 | ||
456 | case argument0=511: | |
457 | global.msg[0]="%%" | |
458 | // if global.choice=0 then | |
459 | // { | |
460 | ||
461 | // if global.flag[34]=1 then global.msg[0]="* You took a piece of candy.&* (Press CTRL to open the menu.)/%%" | |
462 | // if global.flag[34]=2 then global.msg[0]="* You took more candy^1.&* No one will know you took& more than one.../%%" | |
463 | // if global.flag[34]=3 then global.msg[0]="* You take another piece.&* Your inhibitions begin to& melt away./%%" | |
464 | // if global.flag[34]=4 then global.msg[0]="* You took too much too fast.&* The candy spills onto& the floor./%%" | |
465 | // } | |
466 | ||
467 | //if global.choice=1 then | |
468 | // { | |
469 | // global.msg[0]="* You decided not to take some./%%" | |
470 | // } | |
471 | break; | |
472 | ||
473 | case argument0=512: | |
474 | doak=0 | |
475 | noroom=0 | |
476 | global.msg[0]="* It says 'Take them all.'&* Take a candy?& Yes No \C" | |
477 | break; | |
478 | ||
479 | case argument0=513: | |
480 | script_execute(scr_itemcheck,5) | |
481 | if global.choice=0 then | |
482 | { | |
483 | if haveit=0 then | |
484 | if doak=0 then | |
485 | { | |
486 | doak=1 | |
487 | script_execute(scr_itemget,5) | |
488 | } | |
489 | } | |
490 | if noroom=0 then | |
491 | { | |
492 | global.msg[0]="* You took a piece.&* Boy^1, that's heavy./%%" | |
493 | } | |
494 | if haveit=1 then global.msg[0]="* You can't carry more.&* It's just too heavy./%%" | |
495 | if noroom=1 then global.msg[0]="* You tried to take a piece& of candy^1, but you didn't& have any room./%%" | |
496 | if global.choice=1 then | |
497 | { | |
498 | global.msg[0]="* You decided not to take some./%%" | |
499 | } | |
500 | break; | |
501 | ||
502 | case argument0=514: | |
503 | doak=0 | |
504 | noroom=0 | |
505 | global.msg[0]="* Leave 7G in the web?& & Yes No \C" | |
506 | break; | |
507 | ||
508 | case argument0=515: | |
509 | script_execute(scr_cost,7) | |
510 | if global.choice=0 then | |
511 | { | |
512 | if afford=1 then | |
513 | if doak=0 then | |
514 | { | |
515 | doak=1 | |
516 | script_execute(scr_itemget,7) | |
517 | if noroom=0 then global.gold-=7 | |
518 | } | |
519 | } | |
520 | if noroom=0 then | |
521 | { | |
522 | global.msg[0]="* Some spiders crawled down& and gave you a donut./%%" | |
523 | if afford=0 then global.msg[0]="* You didn't have enough& gold./%%" | |
524 | } | |
525 | if noroom=1 then global.msg[0]="* You are carrying too& many items./%%" | |
526 | if global.choice=1 then | |
527 | { | |
528 | global.msg[0]="*%%" | |
529 | } | |
530 | break; | |
531 | ||
532 | case argument0=516: | |
533 | doak=0 | |
534 | noroom=0 | |
535 | global.msg[0]="* Leave 18G in the web?& & Yes No \C" | |
536 | break; | |
537 | ||
538 | case argument0=517: | |
539 | script_execute(scr_cost,18) | |
540 | if global.choice=0 then | |
541 | { | |
542 | if afford=1 then | |
543 | if doak=0 then | |
544 | { | |
545 | doak=1 | |
546 | script_execute(scr_itemget,10) | |
547 | if noroom=0 then global.gold-=18 | |
548 | } | |
549 | } | |
550 | if noroom=0 then | |
551 | { | |
552 | global.msg[0]="* Some spiders crawled down& and gave you a jug./%%" | |
553 | if afford=0 then global.msg[0]="* You didn't have enough& gold./%%" | |
554 | } | |
555 | if noroom=1 then global.msg[0]="* You are carrying too& many items./%%" | |
556 | if global.choice=1 then | |
557 | { | |
558 | global.msg[0]="*%%" | |
559 | } | |
560 | break; | |
561 | ||
562 | case argument0=518: | |
563 | if doak=0 then | |
564 | { | |
565 | script_execute(scr_itemget,12) | |
566 | if noroom=0 then global.flag[100]=1 | |
567 | doak=1 | |
568 | } | |
569 | global.msg[0]="* You found a Faded Ribbon./%%" | |
570 | if noroom=1 then global.msg[0]="* You are carrying too& much./%%" | |
571 | break; | |
572 | ||
573 | case argument0=519: | |
574 | doak=0 | |
575 | noroom=0 | |
576 | global.msg[0]="* It's a switch.&* Press it?& Yes No \C" | |
577 | break; | |
578 | ||
579 | case argument0=520: | |
580 | if doak=0 then | |
581 | { | |
582 | global.flag[43]+=1 | |
583 | doak=1 | |
584 | } | |
585 | if global.choice=0 then global.msg[0]="* Nothing happened./%%" | |
586 | if global.choice=1 then global.msg[0]="%%" | |
587 | if global.flag[43]>25 then global.msg[0]= "* You're making the switches& uncomfortable with all& this attention./%%" | |
588 | break; | |
589 | ||
590 | case argument0=521: | |
591 | doak=0 | |
592 | noroom=0 | |
593 | global.msg[0]="* It's a switch.&* Press it?& Yes No \C" | |
594 | break; | |
595 | ||
596 | case argument0=522: | |
597 | if doak=0 then | |
598 | { | |
599 | global.flag[43]+=1 | |
600 | doak=1 | |
601 | } | |
602 | if global.choice=0 then { global.msg[0]="* You hear a clicking sound./%%"; if room=room_ruins15B and global.plot<14 then global.plot=14; if room=room_ruins15C and global.plot<15 then global.plot=15; if room=room_ruins15D and global.plot<16 then global.plot=16; } | |
603 | if global.choice=1 then global.msg[0]="%%" | |
604 | break; | |
605 | ||
606 | case argument0=523: | |
607 | if doak=0 then | |
608 | { | |
609 | script_execute(scr_itemget,13) | |
610 | if noroom=0 then global.flag[102]=1 | |
611 | doak=1 | |
612 | } | |
613 | global.msg[0]="* You found the Toy Knife./%%" | |
614 | if noroom=1 then global.msg[0]="* You are carrying too& much./%%" | |
615 | break; | |
616 | ||
617 | case argument0=524: | |
618 | doak=0 | |
619 | noroom=0 | |
620 | global.msg[0]="* It's TORIEL's diary.&* Read the circled passage?& Yes No \C" | |
621 | break; | |
622 | ||
623 | case argument0=525: | |
624 | if global.choice=0 then { global.msg[0]="* You read the passage.../"; global.msg[1]='"* Why did the skeleton want& a friend?"/' global.msg[2]='"* Because she was feeling& BONELY..."/' global.msg[3]="* The rest of the page is& filled with jokes of& a similar caliber./%%"} | |
625 | if global.choice=1 then global.msg[0]="%%" | |
626 | break; | |
627 | ||
628 | case argument0=526: | |
629 | if doak=0 then | |
630 | { | |
631 | script_execute(scr_itemget,11) | |
632 | if noroom=0 then global.flag[103]=2 | |
633 | doak=1 | |
634 | } | |
635 | global.msg[0]="* You found a slice of& butterscotch-cinnamon& pie./%%" | |
636 | if noroom=1 then global.msg[0]="* You are carrying too& much./%%" | |
637 | break; | |
638 | ||
639 | case argument0=527: | |
640 | global.msg[0]="* Hello there^1,& little one!/" | |
641 | global.msg[1]="* The pie has not& cooled down yet./" | |
642 | global.msg[2]="* Perhaps you should& take a nap.& Yes No \C /" | |
643 | global.msg[3]=" " | |
644 | break; | |
645 | ||
646 | case argument0=528: | |
647 | global.plot=19.1 | |
648 | if global.choice=0 then { global.msg[0]="* Sweet dreams./%%" ; } | |
649 | else | |
650 | { | |
651 | global.msg[0]="\E1* You'd rather stay& up and chat with& me^1, then?/" | |
652 | if global.flag[103]>0 then global.msg[0]="* Up already^1, I see?/" | |
653 | global.msg[1]="\E0* Um^1, I want you to know& how glad I am to& have someone here./" | |
654 | global.msg[2]="* There are so many& old books I want& to share./" | |
655 | global.msg[3]="* I want to show you& my favorite bug-& hunting spot./" | |
656 | global.msg[4]="* I've also prepared& a curriculum for& your education./" | |
657 | global.msg[5]="* This may come as& a surprise to you.../" | |
658 | global.msg[6]="* But I have always& wanted to be a& teacher./" | |
659 | global.msg[7]="\E1* ... actually^1, perhaps& that isn't very& surprising./" | |
660 | global.msg[8]="\E5* STILL./" | |
661 | global.msg[9]="\E0* I am glad to have& you living here./" | |
662 | global.msg[10]="\E1* Oh^1, did you& want something?/" | |
663 | global.msg[11]="* What is it?& When can& Nothing I go home?\C /" | |
664 | global.msg[12]=" " | |
665 | } | |
666 | break; | |
667 | ||
668 | case argument0=529: | |
669 | global.plot=19.2 | |
670 | if global.choice=0 then | |
671 | { | |
672 | global.msg[0]="* Well^1, talk to me& again if you& need anything./%%" | |
673 | } | |
674 | else | |
675 | { | |
676 | global.msg[0]="\E1* What^1?&* This..^1. this IS your& home now./" | |
677 | global.msg[1]="* Um..^1. would you like& to hear about this& book I am reading?/" | |
678 | if global.choice=-1 then | |
679 | { global.msg[0]="\E0* Oh^1, hello!/"; global.msg[1]="* Did you want to& hear about the& book I am reading?/" } | |
680 | global.msg[2]='\E0* It is called& "72 Uses for Snails."/' | |
681 | global.msg[3]="* How about it?& How to exit& Sure the RUINS\C /" | |
682 | global.msg[4]=" " | |
683 | } | |
684 | break; | |
685 | ||
686 | case argument0=530: | |
687 | global.plot=19.3 | |
688 | global.msg[0]="* Here is an exciting& snail fact./" | |
689 | if global.choice=1 then global.msg[0]="\E1* Um^1.^1.^1.&*\E0 How about an exciting& snail fact?/" | |
690 | global.msg[1]="\E2* Did you know& that snails.../" | |
691 | r=round(random(3)) | |
692 | if r = 0 then global.msg[2]="\E0* Have a chainsaw-like& tongue called a& radula?/" | |
693 | if r = 1 then global.msg[2]='\E0* Sometimes flip their& digestive systems& as they mature?/' | |
694 | if r = 2 then global.msg[2]="\E0* Make terrible& shoelaces?/" | |
695 | if r = 3 then global.msg[2]="\E0* Talk^2. Really^2. Slowly^2?&* Just kidding^1, snails& don't talk./" | |
696 | global.msg[3]="\E0* Interesting.& How to exit& Yeah the RUINS\C /" | |
697 | global.msg[4]=" " | |
698 | break; | |
699 | ||
700 | case argument0=531: | |
701 | global.plot=19.4 | |
702 | if global.choice=0 then global.msg[0]="* Well^1, bother me& if you need anything& else./%%" | |
703 | else | |
704 | { | |
705 | if global.choice=1 then { global.msg[0]="\E1* ... I have to do& something^1.&* Stay here./%%" ; global.plot=19.9 } | |
706 | if global.choice=-1 then | |
707 | { | |
708 | global.msg[0]="\E0* What is it?& How to exit& Nothing the RUINS\C /" | |
709 | } | |
710 | } | |
711 | break; | |
712 | ||
713 | case argument0=532: | |
714 | if global.choice=0 then global.msg[0]="* If you need anything^1,& just ask./%%" | |
715 | if global.choice=1 then{ global.msg[0]="\E1* ... I have to do& something.&* Stay here./%%."; global.plot=19.9; } | |
716 | break; | |
717 | ||
718 | case argument0=666: //flowey | |
719 | global.msg[0]="See that heart^1? &That is your SOUL^1,&the very culmination&of your being!/" | |
720 | global.msg[1]="Your SOUL starts off&weak^1, but can grow&strong if you gain&a lot of LV./" | |
721 | global.msg[2]="What's LV stand for^1?&Why^1, LOVE^1, of course!/" | |
722 | global.msg[3]="You want some&LOVE, don't you?/" | |
723 | global.msg[4]="Don't worry,&I'll share some&with you!/%" | |
724 | break; | |
725 | ||
726 | case argument0=667: | |
727 | global.msg[0]="Down here^1, LOVE is&shared through..^1./" | |
728 | global.msg[1]='Little white..^2.\E1 &"friendliness&pellets."/' | |
729 | global.msg[2]="\E2Are you ready\E0?/%" | |
730 | break; | |
731 | ||
732 | case argument0=668: | |
733 | global.msg[0]="Move around^1!&Get as many as&you can^2!%%%" | |
734 | global.msg[1]="%%%" | |
735 | break; | |
736 | ||
737 | case argument0=669: | |
738 | global.msg[0]="You idiot./" | |
739 | global.msg[1]="In this world^1, it's&kill or BE killed./" | |
740 | global.msg[2]="Why would ANYONE pass&up an opportunity&like this!?/%" | |
741 | break; | |
742 | ||
743 | case argument0=670: | |
744 | global.msg[0]="Die./%" | |
745 | break; | |
746 | ||
747 | case argument0=671: | |
748 | global.msg[0]="Hey buddy^1,&you missed them./" | |
749 | global.msg[1]="Let's try again^1,&okay?/%" | |
750 | break; | |
751 | case argument0=672: | |
752 | global.msg[0]="Is this a joke^2?&Are you braindead^2?&RUN^2. INTO^2. THE^2.&BULLETS!!!" | |
753 | break; | |
754 | case argument0=673: | |
755 | global.msg[0]="You know what's&going on here^1,&don't you?/" | |
756 | global.msg[1]="You just wanted to&see me suffer./%" | |
757 | break; | |
758 | case argument0=674: | |
759 | global.msg[0]="\E1What a cretin^1,&torturing such a&poor^1, innocent&youth.../" | |
760 | global.msg[1]="\E2Ah, do not be&afraid^1, my child./" | |
761 | global.msg[2]="\XI am \BTORIEL\X,&caretaker of&the \RRUINS\X./" | |
762 | global.msg[3]="I pass through this&place every day to&see if anyone has&fallen down./" | |
763 | global.msg[4]="You are the first&human to come here&in a long time./" | |
764 | global.msg[5]="I will do my best&to ensure your&protection during&your time here./%%" | |
765 | global.msg[5]="\E2Come^2!&I will guide you&through the&catacombs./%%" | |
766 | global.msg[6]="%%%" | |
767 | ||
768 | break; | |
769 | ||
770 | // talk choices | |
771 | case argument0=1001: | |
772 | global.msg[0]=" * Check * Compliment& * Threat"; | |
773 | global.choices[0] = 1 | |
774 | global.choices[1] = 1 | |
775 | global.choices[2] = 0 | |
776 | global.choices[3] = 1 | |
777 | global.choices[4] = 0 | |
778 | global.choices[5] = 0 | |
779 | break; | |
780 | ||
781 | //dummy | |
782 | case argument0=1002: | |
783 | global.msg[0]=" * Check * Talk"; | |
784 | global.choices[0] = 1 | |
785 | global.choices[1] = 0 | |
786 | global.choices[2] = 0 | |
787 | global.choices[3] = 1 | |
788 | global.choices[4] = 0 | |
789 | global.choices[5] = 0 | |
790 | break; | |
791 | ||
792 | // fake froggit | |
793 | case argument0=1003: | |
794 | global.msg[0]=" * Check * Compliment& * Threat"; | |
795 | global.choices[0] = 1 | |
796 | global.choices[1] = 1 | |
797 | global.choices[2] = 0 | |
798 | global.choices[3] = 1 | |
799 | global.choices[4] = 0 | |
800 | global.choices[5] = 0 | |
801 | break; | |
802 | ||
803 | // real froggit | |
804 | case argument0=1004: | |
805 | global.msg[0]=" * Check * Compliment& * Threat"; | |
806 | global.choices[0] = 1 | |
807 | global.choices[1] = 1 | |
808 | global.choices[2] = 0 | |
809 | global.choices[3] = 1 | |
810 | global.choices[4] = 0 | |
811 | global.choices[5] = 0 | |
812 | break; | |
813 | ||
814 | // whimsun | |
815 | case argument0=1005: | |
816 | global.msg[0]=" * Check * Console& * Terrorize"; | |
817 | global.choices[0] = 1 | |
818 | global.choices[1] = 1 | |
819 | global.choices[2] = 0 | |
820 | global.choices[3] = 1 | |
821 | global.choices[4] = 0 | |
822 | global.choices[5] = 0 | |
823 | break; | |
824 | ||
825 | case argument0=1006: // moldsmal | |
826 | global.msg[0]=" * Check * Imitate& * Flirt"; | |
827 | global.choices[0] = 1 | |
828 | global.choices[1] = 1 | |
829 | global.choices[2] = 0 | |
830 | global.choices[3] = 1 | |
831 | global.choices[4] = 0 | |
832 | global.choices[5] = 0 | |
833 | break; | |
834 | ||
835 | case argument0=1007: // migosp | |
836 | global.msg[0]=" * Check * Talk"; | |
837 | global.choices[0] = 1 | |
838 | global.choices[1] = 0 | |
839 | global.choices[2] = 0 | |
840 | global.choices[3] = 1 | |
841 | global.choices[4] = 0 | |
842 | global.choices[5] = 0 | |
843 | break; | |
844 | ||
845 | case argument0=1008: // vegetoid | |
846 | global.msg[0]=" * Check * Talk& * Eat"; | |
847 | global.choices[0] = 1 | |
848 | global.choices[1] = 1 | |
849 | global.choices[2] = 0 | |
850 | global.choices[3] = 1 | |
851 | global.choices[4] = 0 | |
852 | global.choices[5] = 0 | |
853 | break; | |
854 | ||
855 | case argument0=1009: // Loox | |
856 | global.msg[0]=" * Check * Pick On& * Don't Pick On"; | |
857 | global.choices[0] = 1 | |
858 | global.choices[1] = 1 | |
859 | global.choices[2] = 0 | |
860 | global.choices[3] = 1 | |
861 | global.choices[4] = 0 | |
862 | global.choices[5] = 0 | |
863 | break; | |
864 | ||
865 | case argument0=1010: // Toriel | |
866 | global.msg[0]=" * Check * Talk"; | |
867 | global.choices[0] = 1 | |
868 | global.choices[1] = 0 | |
869 | global.choices[2] = 0 | |
870 | global.choices[3] = 1 | |
871 | global.choices[4] = 0 | |
872 | global.choices[5] = 0 | |
873 | break; | |
874 | ||
875 | case argument0=1011: // napstablook | |
876 | global.msg[0]=" * Check * Flirt& * Threat * Cheer"; | |
877 | global.choices[0] = 1 | |
878 | global.choices[1] = 1 | |
879 | global.choices[2] = 0 | |
880 | global.choices[3] = 1 | |
881 | global.choices[4] = 1 | |
882 | global.choices[5] = 0 | |
883 | break; | |
884 | ||
885 | case argument0>=1012 and argument0<=1015: // doges | |
886 | global.msg[0]=" * Check * Beckon& * Bathe * Dry & * Walk * Pet "; | |
887 | global.choices[0] = 1 | |
888 | global.choices[1] = 1 | |
889 | global.choices[2] = 1 | |
890 | global.choices[3] = 1 | |
891 | global.choices[4] = 1 | |
892 | global.choices[5] = 1 | |
893 | break; | |
894 | ||
895 | ||
896 | // phone dialogue | |
897 | case argument0=1501: | |
898 | global.msg[0]="* Dialing..\E0.\TT /" | |
899 | if doak=0 then | |
900 | { | |
901 | doak=1 | |
902 | global.flag[40]+=1 | |
903 | } | |
904 | if global.flag[40]=1 then | |
905 | { | |
906 | global.msg[1]="\F1 %" | |
907 | global.msg[2]="\E0* This is TORIEL./" | |
908 | global.msg[3]="* You only wanted to& say hello...^2?&* Well then./" | |
909 | global.msg[4]="\E0* 'Hello!'/" | |
910 | global.msg[5]="* I hope that suffices^1.&* Hee hee./" | |
911 | global.msg[6]="\TS \F0 \T0 %" | |
912 | global.msg[7]="* Click.../%%" | |
913 | } | |
914 | if global.flag[40]=2 then | |
915 | { | |
916 | global.msg[1]="\F1 %" | |
917 | global.msg[2]="\E0* This is TORIEL./" | |
918 | global.msg[3]="* You want to say& hello again?/" | |
919 | global.msg[4]="* 'Salutations!'/" | |
920 | global.msg[5]="* Is that enough?/" | |
921 | global.msg[6]="\TS \F0 \T0 %" | |
922 | global.msg[7]="* Click.../%%" | |
923 | } | |
924 | if global.flag[40]=3 then | |
925 | { | |
926 | global.msg[1]="\F1 \TT %" | |
927 | global.msg[2]="\E0* This is TORIEL./" | |
928 | global.msg[3]="* Are you bored^1?&* I should have given& a book to you./" | |
929 | global.msg[4]="* My apologies./" | |
930 | global.msg[5]="* Why not use your& imagination to& divert yourself?/" | |
931 | global.msg[6]="* Pretend you are..^1.&* A monarch!/" | |
932 | global.msg[7]="* Rule over the leaf pile& with a fist of iron./" | |
933 | global.msg[8]="* Can you do that for me?/" | |
934 | global.msg[9]="\TS \F0 \T0 %" | |
935 | global.msg[10]="* Click.../%%" | |
936 | } | |
937 | if global.flag[40]>3 then | |
938 | { | |
939 | global.msg[1]="\F1 \TT %" | |
940 | global.msg[2]="\E0* This is TORIEL./" | |
941 | global.msg[3]="* Hello^1, my child./" | |
942 | global.msg[4]="\E1* Sorry^1, I do not have& much to say./" | |
943 | global.msg[5]="\E0* It was nice to hear& your voice^1, though^1./" | |
944 | global.msg[6]="\TS \F0 \T0 %" | |
945 | global.msg[7]="* Click.../%%" | |
946 | } | |
947 | break; | |
948 | ||
949 | case argument0=1502: | |
950 | global.msg[0]="* Dialing..\E0.\TT /" | |
951 | global.msg[1]="\F1 %" | |
952 | global.msg[2]="* This is TORIEL./" | |
953 | global.msg[3]="\E1* Help with a puzzle^1.^1.^1.?/" | |
954 | global.msg[4]="* Um^1, you have not& left the room^1, have you?/" | |
955 | global.msg[5]="\E0* Wait patiently for& me and we can solve& it together!/" | |
956 | global.msg[6]="\TS \F0 \T0 %" | |
957 | global.msg[7]="* Click.../%%" | |
958 | break; | |
959 | ||
960 | case argument0=1503: // about yourself | |
961 | global.msg[0]="* Dialing..\E0.\TT /" | |
962 | global.msg[1]="\F1 %" | |
963 | global.msg[2]="* This is TORIEL./" | |
964 | global.msg[3]="\E1* You want to know& more about me?/" | |
965 | global.msg[4]="* Well^1, I am afraid there& is not much to say./" | |
966 | global.msg[5]="\E0* I am just a silly little& lady who worries too& much!/" | |
967 | global.msg[6]="\TS \F0 \T0 %" | |
968 | global.msg[7]="* Click.../%%" | |
969 | break; | |
970 | ||
971 | case argument0=1504: // call her mom | |
972 | global.flag[42]=1 | |
973 | global.msg[0]="* Dialing..\E0.\TT /" | |
974 | global.msg[1]="\F1 %" | |
975 | global.msg[2]="* This is TORIEL./" | |
976 | global.msg[3]='\E8* Huh^2?&* Did you just call& me... "Mom"?/' | |
977 | global.msg[4]="\E1* Well...&* I suppose.../" | |
978 | global.msg[5]="* Would that make you& happy?/" | |
979 | global.msg[6]='* To call me..^2.&* "Mother?"/' | |
980 | global.msg[7]="\E0* Well then^1, call me& whatever you like!/!" | |
981 | global.msg[8]="\TS \F0 \T0 %" | |
982 | global.msg[9]="* Click.../%%" | |
983 | break; | |
984 | ||
985 | case argument0=1505: // flirt | |
986 | if doak=0 then | |
987 | { | |
988 | doak=1 | |
989 | global.flag[41]+=1 | |
990 | } | |
991 | if global.flag[41]=1 then | |
992 | { | |
993 | global.msg[0]="* Dialing..\E0.\TT /" | |
994 | global.msg[1]="\F1 %" | |
995 | global.msg[2]="\E8* ...^2 huh???/" | |
996 | global.msg[3]="\E1* Oh,^1 heh..^1 heh...^1 \E0 &* Ha ha ha!/" | |
997 | global.msg[4]="* How adorable...^1 I& could pinch your cheek!/" | |
998 | global.msg[5]="* You can certainly find& better than an old woman& like me./" | |
999 | global.msg[6]="\TS \F0 \T0 %" | |
1000 | global.msg[7]="* Click.../%%" | |
1001 | } | |
1002 | if global.flag[41]=2 then | |
1003 | { | |
1004 | global.msg[0]="* Dialing..\E0.\TT /" | |
1005 | global.msg[1]="\F1 %" | |
1006 | global.msg[2]="\E1* Oh dear,^1 are you& serious...?/" | |
1007 | global.msg[3]="\E1* I do not know if this is& pathetic,^1 or endearing./" | |
1008 | global.msg[4]="\TS \F0 \T0 %" | |
1009 | global.msg[5]="* Click.../%%" | |
1010 | if global.flag[42]=1 then | |
1011 | { | |
1012 | global.msg[3]='\E8* And after you said you& want to call& me "mother..."/' | |
1013 | global.msg[4]='\E0* You are an...^2 & \E1... "interesting"& child./' | |
1014 | global.msg[5]="\TS \F0 \T0 %" | |
1015 | global.msg[6]="* Click.../%%" | |
1016 | } | |
1017 | } | |
1018 | break; | |
1019 | ||
1020 | case argument0=1506: // nobody's home | |
1021 | global.flag[42]=1 | |
1022 | global.msg[0]="* Dialing... /" | |
1023 | global.msg[1]="* ... /" | |
1024 | global.msg[2]="* No one picked up.../%%" | |
1025 | break; | |
1026 | ||
1027 | case argument0=1507: | |
1028 | global.faceemotion=99 | |
1029 | global.msg[0]="* Dialing...\TT /" | |
1030 | global.msg[1]="\F1 %" | |
1031 | global.msg[2]="* Hey^1, you silly& child./" | |
1032 | global.msg[3]="* If you want to& talk to me^1, I am& right here./" | |
1033 | global.msg[4]="\TS \F0 \T0 %" | |
1034 | global.msg[5]="* Click.../%%" | |
1035 | break; | |
1036 | ||
1037 | ||
1038 | ||
1039 | ||
1040 | // npc dialogue | |
1041 | case argument0=2001: | |
1042 | global.msg[0]="\E2* Welcome to your new& home,^1 innocent one./" | |
1043 | global.msg[1]="* Allow me to educate you& in the operation of& the RUINS./%" | |
1044 | break; | |
1045 | ||
1046 | ||
1047 | case argument0=2002: // toriel flirt phone call | |
1048 | global.faceplate=1 | |
1049 | global.msg[0]="\E8* ...^2 huh???/" | |
1050 | global.msg[1]="\E1* Oh,^1 heh..^1 heh...^1 \E0 &* Ha ha ha!/" | |
1051 | global.msg[2]="* How adorable...^1 I& could pinch your cheek!/" | |
1052 | global.msg[3]="* You can certainly find& better than an old woman& like me./%" | |
1053 | // "\E1* Oh dear,^1 are you& serious...?/" | |
1054 | //// alt --> '\E8* And after you said you& want to call me "mother..."/' | |
1055 | //// alt --> '\E0* You are an...^2& \E1... "interesting" child.' | |
1056 | // "\E0* I do not know if this is& pathetic,^1 or endearing./%" | |
1057 | // | |
1058 | // "\E0* | |
1059 | // " | |
1060 | break; | |
1061 | ||
1062 | case argument0=3002: //battle intro messages | |
1063 | global.msg[0]="* You encountered the Dummy." | |
1064 | global.msg[1]="%%%" | |
1065 | break; | |
1066 | ||
1067 | case argument0=3003: //froggit | |
1068 | global.msg[0]="* Froggit attacks you!" | |
1069 | global.msg[1]="%%%" | |
1070 | break; | |
1071 | ||
1072 | case argument0=3004: //froggit | |
1073 | global.msg[0]="* Froggit hopped close!" | |
1074 | global.msg[1]="%%%" | |
1075 | break; | |
1076 | ||
1077 | case argument0=3005: //whimsun | |
1078 | global.msg[0]="* Whimsun approached meekly!" | |
1079 | global.msg[1]="%%%" | |
1080 | break; | |
1081 | ||
1082 | case argument0=3006: //whimsun | |
1083 | global.msg[0]="* Froggit and Whimsun drew near!" | |
1084 | global.msg[1]="%%%" | |
1085 | break; | |
1086 | ||
1087 | case argument0=3007: //moldsmal | |
1088 | global.msg[0]="* Moldsmal blocked the way!" | |
1089 | global.msg[1]="%%%" | |
1090 | break; | |
1091 | ||
1092 | case argument0=9999: // test line | |
1093 | i=0 | |
1094 | fileid=file_text_open_read("testlines.txt") | |
1095 | while (file_text_eof(fileid))=false | |
1096 | { | |
1097 | global.msg[i]=file_text_read_string(fileid) | |
1098 | file_text_readln(fileid) | |
1099 | i+=1 | |
1100 | } | |
1101 | file_text_close(fileid) | |
1102 | break; | |
1103 | ||
1104 | ||
1105 | ||
1106 | ||
1107 | ||
1108 | ||
1109 | ||
1110 | ||
1111 | ||
1112 | ||
1113 | ||
1114 | ||
1115 | ||
1116 | } | |
1117 | ||
1118 | #define SCR_GAMESTART | |
1119 | randomize() | |
1120 | ||
1121 | global.hp = 20 //hp | |
1122 | global.maxhp = 20 //hp | |
1123 | global.en = 20 //energy | |
1124 | global.maxen = 20 //energy | |
1125 | global.at = 10 //attk | |
1126 | global.df = 10 //def | |
1127 | global.adef= 0 // armor defence | |
1128 | global.sp = 4 //sped | |
1129 | global.asp = 4 //actual sped | |
1130 | global.hb = 5 //hitbox | |
1131 | global.gt = 5 //guts | |
1132 | global.km = 0 //karma | |
1133 | global.ph = 30 //phasing | |
1134 | global.gold = 0 | |
1135 | global.xp = 0 | |
1136 | global.lv = 1 | |
1137 | global.charname=" " | |
1138 | for (i=0; i<8; i+=1) | |
1139 | { | |
1140 | global.item[i]= 0 | |
1141 | global.spell[i] = 1 | |
1142 | global.bulletvariable[i] = 0 | |
1143 | global.menuno = -1 | |
1144 | global.menucoord[i] = 0 | |
1145 | global.bmenuno = 0 | |
1146 | global.bmenucoord[i] = 0 | |
1147 | } | |
1148 | ||
1149 | for (i=0; i<24; i+=1) | |
1150 | { | |
1151 | global.msg[i] = "%%%" | |
1152 | global.areapop[i]=0 | |
1153 | } | |
1154 | global.area=0 | |
1155 | for (i=0; i<512; i+=1) | |
1156 | { | |
1157 | global.flag[i]= 0 | |
1158 | } | |
1159 | global.idealborder[0]= 0 | |
1160 | global.idealborder[1]= 0 | |
1161 | global.idealborder[2]= 0 | |
1162 | global.idealborder[3]= 0 | |
1163 | ||
1164 | global.plot = 0 | |
1165 | global.currentroom=0 | |
1166 | ||
1167 | for (i=0; i<3; i+=1) | |
1168 | { | |
1169 | global.monstername[i]="Error" | |
1170 | global.monsterhp[i]=50 | |
1171 | global.monstermaxhp[i]=50 | |
1172 | global.monsterdef[i]=0 | |
1173 | global.xpreward[i] = 0 | |
1174 | global.goldreward[i] =0 | |
1175 | global.itemrewardid[i] = 0 | |
1176 | global.itemrewardchance[i] = 0 | |
1177 | global.monster[i] = 0 | |
1178 | global.attacker[i] = 0 | |
1179 | global.mnpwr[i] = 0 | |
1180 | global.bulletpwr[i] = 0 | |
1181 | global.hurtanim[i] = 0 | |
1182 | } | |
1183 | global.xpreward[3] = 0 | |
1184 | global.goldreward[3] = 0 | |
1185 | ||
1186 | global.battlegroup = 3 | |
1187 | global.turntimer = 0 | |
1188 | global.talked = 0 | |
1189 | global.inv = 20 | |
1190 | global.invc = 0 | |
1191 | global.turnmax = 0 | |
1192 | global.myfight = 0 | |
1193 | global.mnfight = 0 | |
1194 | global.incombat = 0 | |
1195 | global.firingrate = 14 | |
1196 | global.border = 0 | |
1197 | global.turn = 0 | |
1198 | global.actfirst = 0 | |
1199 | global.extraintro = 0 | |
1200 | global.mytarget = 0 | |
1201 | global.confirm = "ord('z')" | |
1202 | global.damagetimer = 90 | |
1203 | ||
1204 | //spellnames | |
1205 | ||
1206 | //itemnames | |
1207 | ||
1208 | global.attacktype = 1 | |
1209 | global.wstrength = 0 | |
1210 | global.pwr = 0 | |
1211 | global.attackspeed = 11 | |
1212 | global.attackspeedr = 2 | |
1213 | ||
1214 | global.wstrength = 0 | |
1215 | global.kills = 0 | |
1216 | global.specialbattle=0 | |
1217 | ||
1218 | global.myview = 0 | |
1219 | global.hshake = 0 | |
1220 | global.vshake = 0 | |
1221 | global.shakespeed = 0 | |
1222 | global.encounter=0 | |
1223 | ||
1224 | ||
1225 | // overworld | |
1226 | ||
1227 | global.facing = 0 | |
1228 | global.phasing= 0 | |
1229 | ||
1230 | global.choices = 0 | |
1231 | ||
1232 | global.interact = 0 | |
1233 | global.viewpan = 0 | |
1234 | global.inbattle=0 | |
1235 | global.facechoice=0 | |
1236 | global.faceemotion=0 | |
1237 | global.seriousbattle=0 | |
1238 | global.mercy=0 // if 1, then there's no "run" command. if 2, then you cannot select anything at all. | |
1239 | ||
1240 | global.item[0]= 0 | |
1241 | global.item[1]= 0 | |
1242 | global.item[2]= 0 | |
1243 | global.item[3]= 0 | |
1244 | global.item[4]= 0 | |
1245 | global.item[5]= 0 | |
1246 | global.item[6]= 0 | |
1247 | global.item[7]= 0 | |
1248 | global.item[8]= 0 | |
1249 | global.weapon = 3 | |
1250 | global.armor = 4 | |
1251 | ||
1252 | global.phone[0]=0 // papyrus | |
1253 | global.phone[1]=0 // undine | |
1254 | global.phone[2]=0 // mettaton | |
1255 | global.phone[3]=0 // sans | |
1256 | global.phone[4]=0 // dralphys | |
1257 | global.phone[5]=0 // other | |
1258 | global.phone[6]=0 | |
1259 | global.phone[7]=0 | |
1260 | global.phone[8]=0 | |
1261 | //0 --> nobody | |
1262 | //1 --> torielHello | |
1263 | //2 --> torielPuzzleHelp | |
1264 | //3 --> torielAboutYou | |
1265 | //4 --> torielMom... | |
1266 | //5 --> torielFlirt | |
1267 | //6 --> Papyrus | |
1268 | //7 --> Sans1 (prank number 1) | |
1269 | //8 --> Sans2 (prank number 2) | |
1270 | //9 --> Sans3 (prank number 3) | |
1271 | //10 --> GrandpaSemi (Hello... id like a large pepperoni pizza...) | |
1272 | //11 --> DrAlphys | |
1273 | //12 --> Undine | |
1274 | //13 --> Mettaton | |
1275 | ||
1276 | ||
1277 | global.menuchoice[0]=1 | |
1278 | global.menuchoice[1]=1 | |
1279 | global.menuchoice[2]=0 | |
1280 | global.menuchoice[3]=0 | |
1281 | global.choice=-1 | |
1282 | ||
1283 | global.lastsavedtime = 0 | |
1284 | global.lastsavedkills = 0 | |
1285 | global.lastsavedlv=0 | |
1286 | global.filechoice=0 | |
1287 | global.dontfade=0 | |
1288 | ||
1289 | global.entrance=0 | |
1290 | global.currentsong=" " | |
1291 | global.typer=5 | |
1292 | ||
1293 | global.debug=0 | |
1294 | ||
1295 | #define SCR_DIRECT | |
1296 | global.bulletvariable[0] = argument0 //chasespeed | |
1297 | global.bulletvariable[1] = argument1 //speedvariance | |
1298 | global.bulletvariable[2] = argument2 //direction variance | |
1299 | global.bulletvariable[3] = argument3 //gravity | |
1300 | global.bulletvariable[4] = argument4 //gdirection | |
1301 | global.bulletvariable[5] = argument5 //friction | |
1302 | global.bulletvariable[6] = argument6 //direction | |
1303 | global.bulletvariable[7] = argument7 //directionalspeed | |
1304 | bulletnumber = argument8 | |
1305 | global.bulletappearance = argument9 | |
1306 | ||
1307 | ||
1308 | for (i=0; i<=bulletnumber;i+=1) | |
1309 | { | |
1310 | iii=instance_create(x,y,blt_direct) | |
1311 | iii.dmg = global.monsteratk[myself] | |
1312 | } | |
1313 | ||
1314 | //1, 4, 60, 0.5, 270, 0.1, 8 rain | |
1315 | ||
1316 | #define SCR_THATCH | |
1317 | xdiff = argument0 //xdiff | |
1318 | ydiff = argument1 //ydiff | |
1319 | global.bulletvariable[2] = argument2 //thatch angle | |
1320 | global.bulletvariable[3] = argument3 //gravity | |
1321 | global.bulletvariable[4] = argument4 //gdirection | |
1322 | global.bulletvariable[5] = argument5 //friction | |
1323 | global.bulletvariable[6] = argument6 //direction | |
1324 | global.bulletvariable[7] = argument7 //directionalspeed | |
1325 | thatchbonus = argument8 //thatchbonus | |
1326 | bulletnumber = argument9 | |
1327 | global.bulletappearance = argument10 | |
1328 | ||
1329 | ||
1330 | for (i=0; i<=bulletnumber;i+=1) | |
1331 | { | |
1332 | global.bulletvariable[6] += argument2 | |
1333 | global.bulletvariable[7] += (argument8*i) | |
1334 | iii = instance_create(x+(i*xdiff),y+(i*ydiff),blt_thatch) | |
1335 | with (iii) dmg = 5 | |
1336 | global.bulletvariable[6] -= argument2*2 | |
1337 | global.bulletvariable[7] -= (argument8*i)*2 | |
1338 | iii = instance_create(x+(i*xdiff),y+(i*ydiff),blt_thatch) | |
1339 | with (iii) dmg = 5 | |
1340 | global.bulletvariable[6] = argument6 | |
1341 | global.bulletvariable[7] = argument7 | |
1342 | } | |
1343 | ||
1344 | //1, 4, 60, 0.5, 270, 0.1, 8 rain | |
1345 | ||
1346 | #define SCR_LASER | |
1347 | global.bulletvariable[0] = argument0 //ORIGINSPEED | |
1348 | global.bulletvariable[1] = argument1 //ORIGINDIR | |
1349 | global.bulletvariable[2] = argument2 //GOALX | |
1350 | global.bulletvariable[3] = argument3 //GOALY | |
1351 | global.bulletvariable[4] = argument4 //gravity | |
1352 | global.bulletvariable[5] = argument5 //gdirection | |
1353 | global.bulletvariable[6] = argument6 //friction | |
1354 | global.bulletvariable[7] = argument7 //GOALDIR | |
1355 | global.bulletvariable[8] = argument8 //GOALSPEED | |
1356 | global.bulletappearance = argument9 | |
1357 | ||
1358 | ||
1359 | ||
1360 | instance_create(x,y,blt_laser) | |
1361 | ||
1362 | #define SCR_BORDERSETUP | |
1363 | if global.border = 0 then // dialogue box | |
1364 | { | |
1365 | global.idealborder[0] = 32 | |
1366 | global.idealborder[1] = 602 | |
1367 | global.idealborder[2] = 250 | |
1368 | global.idealborder[3] = 385 | |
1369 | } | |
1370 | ||
1371 | if global.border = 1 then // standard box | |
1372 | { | |
1373 | global.idealborder[0] = 217 | |
1374 | global.idealborder[1] = 417 | |
1375 | global.idealborder[2] = 180 | |
1376 | global.idealborder[3] = 385 | |
1377 | } | |
1378 | ||
1379 | if global.border = 2 then // tower box | |
1380 | { | |
1381 | global.idealborder[0] = 217 | |
1382 | global.idealborder[1] = 417 | |
1383 | global.idealborder[2] = 125 | |
1384 | global.idealborder[3] = 385 | |
1385 | } | |
1386 | ||
1387 | if global.border = 3 then // small box | |
1388 | { | |
1389 | global.idealborder[0] = 237 | |
1390 | global.idealborder[1] = 397 | |
1391 | global.idealborder[2] = 250 | |
1392 | global.idealborder[3] = 385 | |
1393 | } | |
1394 | ||
1395 | if global.border = 4 then // claustrophobic box | |
1396 | { | |
1397 | global.idealborder[0] = 267 | |
1398 | global.idealborder[1] = 367 | |
1399 | global.idealborder[2] = 295 | |
1400 | global.idealborder[3] = 385 | |
1401 | } | |
1402 | ||
1403 | if global.border = 5 then // wide-small box | |
1404 | { | |
1405 | global.idealborder[0] = 192 | |
1406 | global.idealborder[1] = 442 | |
1407 | global.idealborder[2] = 250 | |
1408 | global.idealborder[3] = 385 | |
1409 | } | |
1410 | ||
1411 | if global.border = 6 then // slightly bigger box PREP | |
1412 | { | |
1413 | global.idealborder[0] = 227 | |
1414 | global.idealborder[1] = 407 | |
1415 | global.idealborder[2] = 250 | |
1416 | global.idealborder[3] = 385 | |
1417 | } | |
1418 | if global.border = 7 then // slightly bigger box TALL | |
1419 | { | |
1420 | global.idealborder[0] = 227 | |
1421 | global.idealborder[1] = 407 | |
1422 | global.idealborder[2] = 200 | |
1423 | global.idealborder[3] = 385 | |
1424 | } | |
1425 | ||
1426 | if global.border = 8 then // short box | |
1427 | { | |
1428 | global.idealborder[0] = 202 | |
1429 | global.idealborder[1] = 432 | |
1430 | global.idealborder[2] = 290 | |
1431 | global.idealborder[3] = 385 | |
1432 | } | |
1433 | ||
1434 | #define scr_monstersetup | |
1435 | //determine our ID based on who else is around. we're alive | |
1436 | ||
1437 | myself = 0 | |
1438 | ||
1439 | if global.monster[1] = 1 then | |
1440 | { | |
1441 | myself = 2 | |
1442 | global.monster[2] = 1 | |
1443 | } | |
1444 | ||
1445 | if global.monster[0] = 1 and myself != 2 then | |
1446 | { | |
1447 | myself = 1 | |
1448 | global.monster[1] = 1 | |
1449 | } | |
1450 | ||
1451 | if global.monster[0] = 0 then | |
1452 | { | |
1453 | myself = 0 | |
1454 | global.monster[0] = 1 | |
1455 | } | |
1456 | ||
1457 | if global.monstertype[myself] = 1 then | |
1458 | { | |
1459 | global.monstername[myself]="TestFroggit" | |
1460 | global.monstermaxhp[myself]=23 | |
1461 | global.monsterhp[myself]=23 | |
1462 | global.monsteratk[myself]=4 | |
1463 | global.monsterdef[myself]=1 | |
1464 | global.xpreward[myself] = 2 | |
1465 | global.goldreward[myself] = 2 | |
1466 | global.itemrewardid = 1 | |
1467 | global.itemrewardchance = 50 | |
1468 | } | |
1469 | ||
1470 | if global.monstertype[myself] = 2 then | |
1471 | { | |
1472 | global.monstername[myself]="Dummy" | |
1473 | global.monstermaxhp[myself]=15 | |
1474 | global.monsterhp[myself]=15 | |
1475 | global.monsteratk[myself]=0 | |
1476 | global.monsterdef[myself]=-5 | |
1477 | global.xpreward[myself] = 0 | |
1478 | global.goldreward[myself] = 0 | |
1479 | global.itemrewardid = 0 | |
1480 | global.itemrewardchance = 0 | |
1481 | } | |
1482 | if global.monstertype[myself] = 3 then | |
1483 | { | |
1484 | global.monstername[myself]="Froggit" | |
1485 | global.monstermaxhp[myself]=23 | |
1486 | global.monsterhp[myself]=23 | |
1487 | global.monsteratk[myself]=4 | |
1488 | global.monsterdef[myself]=1 | |
1489 | global.xpreward[myself] = 10 | |
1490 | global.goldreward[myself] = 20 | |
1491 | global.itemrewardid = 1 | |
1492 | global.itemrewardchance = 50 | |
1493 | } | |
1494 | ||
1495 | if global.monstertype[myself] = 4 then | |
1496 | { | |
1497 | global.monstername[myself]="Froggit" | |
1498 | global.monstermaxhp[myself]=30 | |
1499 | global.monsterhp[myself]=30 | |
1500 | global.monsteratk[myself]=4 | |
1501 | global.monsterdef[myself]=4 | |
1502 | global.xpreward[myself] = 3 | |
1503 | global.goldreward[myself] = 2 | |
1504 | global.itemrewardid = 1 | |
1505 | global.itemrewardchance = 50 | |
1506 | } | |
1507 | ||
1508 | ||
1509 | if global.monstertype[myself] = 5 then | |
1510 | { | |
1511 | global.monstername[myself]="Whimsun" | |
1512 | global.monstermaxhp[myself]=10 | |
1513 | global.monsterhp[myself]=10 | |
1514 | global.monsteratk[myself]=4 | |
1515 | global.monsterdef[myself]=0 | |
1516 | global.xpreward[myself] = 2 | |
1517 | global.goldreward[myself] = 2 | |
1518 | global.itemrewardid = 1 | |
1519 | global.itemrewardchance = 50 | |
1520 | } | |
1521 | ||
1522 | if global.monstertype[myself] = 6 then | |
1523 | { | |
1524 | global.monstername[myself]="Moldsmal" | |
1525 | global.monstermaxhp[myself]=50 | |
1526 | global.monsterhp[myself]=50 | |
1527 | global.monsteratk[myself]=4 | |
1528 | global.monsterdef[myself]=0 | |
1529 | global.xpreward[myself] = 3 | |
1530 | global.goldreward[myself] = 3 | |
1531 | global.itemrewardid = 1 | |
1532 | global.itemrewardchance = 50 | |
1533 | } | |
1534 | ||
1535 | if global.monstertype[myself] = 7 then | |
1536 | { | |
1537 | global.monstername[myself]="Migosp" | |
1538 | global.monstermaxhp[myself]=40 | |
1539 | global.monsterhp[myself]=40 | |
1540 | global.monsteratk[myself]=5 | |
1541 | global.monsterdef[myself]=4 | |
1542 | global.xpreward[myself] = 5 | |
1543 | global.goldreward[myself] = 4 | |
1544 | global.itemrewardid = 1 | |
1545 | global.itemrewardchance = 50 | |
1546 | } | |
1547 | ||
1548 | ||
1549 | if global.monstertype[myself] = 8 then | |
1550 | { | |
1551 | global.monstername[myself]="Vegetoid" | |
1552 | global.monstermaxhp[myself]=72 | |
1553 | global.monsterhp[myself]=72 | |
1554 | global.monsteratk[myself]=5 | |
1555 | global.monsterdef[myself]=0 | |
1556 | global.xpreward[myself] = 6 | |
1557 | global.goldreward[myself] = 1 | |
1558 | global.itemrewardid = 1 | |
1559 | global.itemrewardchance = 50 | |
1560 | } | |
1561 | ||
1562 | if global.monstertype[myself] = 9 then | |
1563 | { | |
1564 | global.monstername[myself]="Loox" | |
1565 | global.monstermaxhp[myself]=50 | |
1566 | global.monsterhp[myself]=50 | |
1567 | global.monsteratk[myself]=5 | |
1568 | global.monsterdef[myself]=4 | |
1569 | global.xpreward[myself] = 7 | |
1570 | global.goldreward[myself] = 5 | |
1571 | global.itemrewardid = 1 | |
1572 | global.itemrewardchance = 50 | |
1573 | } | |
1574 | ||
1575 | if global.monstertype[myself] = 10 then | |
1576 | { | |
1577 | global.monstername[myself]="Toriel" | |
1578 | global.monstermaxhp[myself]=440 | |
1579 | global.monsterhp[myself]=440 | |
1580 | global.monsteratk[myself]=6 | |
1581 | global.monsterdef[myself]=2 | |
1582 | if global.flag[202]>11 and global.flag[203]>11 then global.monsterdef[myself]=-9999 | |
1583 | global.xpreward[myself] = 0 | |
1584 | global.goldreward[myself] = 0 | |
1585 | global.itemrewardid = 0 | |
1586 | global.itemrewardchance = 0 | |
1587 | } | |
1588 | ||
1589 | ||
1590 | if global.monstertype[myself] = 11 then | |
1591 | { | |
1592 | global.monstername[myself]="Napstablook" | |
1593 | global.monstermaxhp[myself]=88 | |
1594 | global.monsterhp[myself]=88 | |
1595 | global.monsteratk[myself]=5 | |
1596 | global.monsterdef[myself]=4 | |
1597 | global.xpreward[myself] = -1 | |
1598 | global.goldreward[myself] = 0 | |
1599 | global.itemrewardid = 0 | |
1600 | global.itemrewardchance = 0 | |
1601 | } | |
1602 | ||
1603 | if global.monstertype[myself] = 13 then //Doge B | |
1604 | { | |
1605 | global.monstername[myself]="Doge" | |
1606 | global.monstermaxhp[myself]=62 | |
1607 | global.monsterhp[myself]=62 | |
1608 | global.monsteratk[myself]=7 | |
1609 | global.monsterdef[myself]=5 | |
1610 | global.xpreward[myself] =30 | |
1611 | global.goldreward[myself] =9 | |
1612 | global.itemrewardid = 0 | |
1613 | global.itemrewardchance = 0 | |
1614 | } | |
1615 | ||
1616 | #define scr_battlegroup | |
1617 | //make some noise | |
1618 | global.monster[0] = 0 | |
1619 | global.monster[1] = 0 | |
1620 | global.monster[2] = 0 | |
1621 | global.monster[3] = 0 | |
1622 | ||
1623 | ||
1624 | if global.battlegroup = 1 then | |
1625 | { | |
1626 | global.monstertype[0] = 1 | |
1627 | global.monstertype[1] = 1 | |
1628 | global.monstertype[2] = 1 | |
1629 | global.batmusic=caster_load("music/battle1.ogg") | |
1630 | caster_loop(global.batmusic,0.5,1) | |
1631 | global.msc=2 | |
1632 | global.battlelv=1 | |
1633 | global.actfirst=0 | |
1634 | global.extraintro=0 | |
1635 | global.monsterinstance[0] = instance_create(216,136,obj_testmonster) | |
1636 | global.monsterinstance[1] = instance_create(418,136,obj_testmonster) | |
1637 | global.monsterinstance[2] = instance_create(14,136,obj_testmonster) | |
1638 | } | |
1639 | ||
1640 | if global.battlegroup = 2 then | |
1641 | { | |
1642 | global.monstertype[0] = 2 | |
1643 | global.monstertype[1] = 0 | |
1644 | global.monstertype[2] = 0 | |
1645 | global.batmusic=caster_load("music/prebattle1.ogg") | |
1646 | caster_loop(global.batmusic,0.5,1) | |
1647 | global.msc=global.battlegroup+3000 | |
1648 | global.battlelv=0 | |
1649 | global.actfirst=0 | |
1650 | global.extraintro=0 | |
1651 | global.monsterinstance[0] = instance_create(216,136,obj_dummymonster) | |
1652 | } | |
1653 | ||
1654 | if global.battlegroup = 3 then | |
1655 | { | |
1656 | global.monstertype[0] = 3 | |
1657 | global.monstertype[1] = 0 | |
1658 | global.monstertype[2] = 0 | |
1659 | global.batmusic=caster_load("music/prebattle1.ogg") | |
1660 | caster_loop(global.batmusic,0.5,1) | |
1661 | global.msc=global.battlegroup+3000 | |
1662 | global.battlelv=0 | |
1663 | global.actfirst=0 | |
1664 | global.extraintro=0 | |
1665 | global.monsterinstance[0] = instance_create(216,136,obj_fakefroggit) | |
1666 | } | |
1667 | ||
1668 | if global.battlegroup = 4 then | |
1669 | { | |
1670 | global.monstertype[0] = 4 | |
1671 | global.monstertype[1] = 0 | |
1672 | global.monstertype[2] = 0 | |
1673 | global.batmusic=caster_load("music/battle1.ogg") | |
1674 | caster_loop(global.batmusic,0.5,1) | |
1675 | global.msc=global.battlegroup+3000 | |
1676 | global.battlelv=0 | |
1677 | global.actfirst=0 | |
1678 | global.extraintro=0 | |
1679 | global.monsterinstance[0] = instance_create(216,136,obj_froggit) | |
1680 | } | |
1681 | ||
1682 | if global.battlegroup = 5 then | |
1683 | { | |
1684 | global.monstertype[0] = 5 | |
1685 | global.monstertype[1] = 0 | |
1686 | global.monstertype[2] = 0 | |
1687 | global.batmusic=caster_load("music/battle1.ogg") | |
1688 | caster_loop(global.batmusic,0.5,1) | |
1689 | global.msc=global.battlegroup+3000 | |
1690 | global.battlelv=0 | |
1691 | global.actfirst=0 | |
1692 | global.extraintro=0 | |
1693 | global.monsterinstance[0] = instance_create(214,16,obj_whimsun) | |
1694 | } | |
1695 | ||
1696 | if global.battlegroup = 6 then | |
1697 | { | |
1698 | global.monstertype[0] = 4 | |
1699 | global.monstertype[1] = 5 | |
1700 | global.monstertype[2] = 0 | |
1701 | global.batmusic=caster_load("music/battle1.ogg") | |
1702 | caster_loop(global.batmusic,0.5,1) | |
1703 | global.msc=global.battlegroup+3000 | |
1704 | global.battlelv=0 | |
1705 | global.actfirst=0 | |
1706 | global.extraintro=0 | |
1707 | global.monsterinstance[0] = instance_create(216,136,obj_froggit) | |
1708 | global.monsterinstance[1] = instance_create(317,16,obj_whimsun) | |
1709 | } | |
1710 | ||
1711 | if global.battlegroup = 7 then | |
1712 | { | |
1713 | global.monstertype[0] = 6 | |
1714 | global.monstertype[1] = 0 | |
1715 | global.monstertype[2] = 0 | |
1716 | global.batmusic=caster_load("music/battle1.ogg") | |
1717 | caster_loop(global.batmusic,0.5,1) | |
1718 | global.msc=global.battlegroup+3000 | |
1719 | global.battlelv=0 | |
1720 | global.actfirst=0 | |
1721 | global.extraintro=0 | |
1722 | global.monsterinstance[0] = instance_create(216,156,obj_moldsmal) | |
1723 | } | |
1724 | ||
1725 | if global.battlegroup = 8 then | |
1726 | { | |
1727 | global.monstertype[0] = 6 | |
1728 | global.monstertype[1] = 6 | |
1729 | global.monstertype[2] = 6 | |
1730 | global.batmusic=caster_load("music/battle1.ogg") | |
1731 | caster_loop(global.batmusic,0.5,1) | |
1732 | global.msc=global.battlegroup+3000 | |
1733 | global.battlelv=0 | |
1734 | global.actfirst=0 | |
1735 | global.extraintro=0 | |
1736 | global.msc=0 | |
1737 | global.msg[0]="* You tripped into a& line of Moldsmals." | |
1738 | // global.monsterinstance[0] = instance_create(115,136,obj_froggit) | |
1739 | global.monsterinstance[0] = instance_create(15,156,obj_moldsmal) | |
1740 | global.monsterinstance[1] = instance_create(217,156,obj_moldsmal) | |
1741 | global.monsterinstance[2] = instance_create(421,156,obj_moldsmal) | |
1742 | } | |
1743 | ||
1744 | if global.battlegroup = 9 then | |
1745 | { | |
1746 | global.monstertype[0] = 4 | |
1747 | global.monstertype[1] = 4 | |
1748 | global.monstertype[2] = 0 | |
1749 | global.batmusic=caster_load("music/battle1.ogg") | |
1750 | caster_loop(global.batmusic,0.5,1) | |
1751 | global.msc=0 | |
1752 | global.battlelv=0 | |
1753 | global.actfirst=0 | |
1754 | global.extraintro=0 | |
1755 | global.msg[0]="* A pair of Froggits hop& towards you." | |
1756 | global.monsterinstance[0] = instance_create(116,136,obj_froggit) | |
1757 | global.monsterinstance[1] = instance_create(320,136,obj_froggit) | |
1758 | } | |
1759 | ||
1760 | if global.battlegroup = 10 then | |
1761 | { | |
1762 | global.monstertype[0] = 6 | |
1763 | global.monstertype[1] = 6 | |
1764 | global.monstertype[2] = 0 | |
1765 | global.batmusic=caster_load("music/battle1.ogg") | |
1766 | caster_loop(global.batmusic,0.5,1) | |
1767 | global.msc=0 | |
1768 | global.battlelv=0 | |
1769 | global.actfirst=0 | |
1770 | global.extraintro=0 | |
1771 | global.msg[0]="* Moldsmal and Moldsmal& block the way." | |
1772 | global.monsterinstance[0] = instance_create(116,156,obj_moldsmal) | |
1773 | global.monsterinstance[1] = instance_create(320,156,obj_moldsmal) | |
1774 | } | |
1775 | ||
1776 | if global.battlegroup = 11 then | |
1777 | { | |
1778 | global.monstertype[0] = 6 | |
1779 | global.monstertype[1] = 7 | |
1780 | global.monstertype[2] = 0 | |
1781 | global.batmusic=caster_load("music/battle1.ogg") | |
1782 | caster_loop(global.batmusic,0.5,1) | |
1783 | global.msc=0 | |
1784 | global.battlelv=0 | |
1785 | global.actfirst=0 | |
1786 | global.extraintro=0 | |
1787 | global.msg[0]="* Migosp crawled up close!" | |
1788 | global.monsterinstance[0] = instance_create(116,156,obj_moldsmal) | |
1789 | global.monsterinstance[1] = instance_create(320,136,obj_migosp) | |
1790 | } | |
1791 | ||
1792 | if global.battlegroup = 12 then | |
1793 | { | |
1794 | global.monstertype[0] = 7 | |
1795 | global.monstertype[1] = 8 | |
1796 | global.monstertype[2] = 0 | |
1797 | global.batmusic=caster_load("music/battle1.ogg") | |
1798 | caster_loop(global.batmusic,0.5,1) | |
1799 | global.msc=0 | |
1800 | global.battlelv=0 | |
1801 | global.actfirst=0 | |
1802 | global.extraintro=0 | |
1803 | global.msg[0]="* Vegetoid came out of the earth!" | |
1804 | global.monsterinstance[0] = instance_create(116,136,obj_migosp) | |
1805 | global.monsterinstance[1] = instance_create(320,136,obj_vegetoid) | |
1806 | } | |
1807 | ||
1808 | if global.battlegroup = 13 then | |
1809 | { | |
1810 | global.monstertype[0] = 9 | |
1811 | global.monstertype[1] = 0 | |
1812 | global.monstertype[2] = 0 | |
1813 | global.batmusic=caster_load("music/battle1.ogg") | |
1814 | caster_loop(global.batmusic,0.5,1) | |
1815 | global.msc=0 | |
1816 | global.battlelv=0 | |
1817 | global.actfirst=0 | |
1818 | global.extraintro=0 | |
1819 | global.msg[0]="* Loox drew near!" | |
1820 | global.monsterinstance[0] = instance_create(218,124,obj_loox) | |
1821 | } | |
1822 | ||
1823 | if global.battlegroup = 14 then | |
1824 | { | |
1825 | global.monstertype[0] = 9 | |
1826 | global.monstertype[1] = 8 | |
1827 | global.monstertype[2] = 0 | |
1828 | global.batmusic=caster_load("music/battle1.ogg") | |
1829 | caster_loop(global.batmusic,0.5,1) | |
1830 | global.msc=0 | |
1831 | global.battlelv=0 | |
1832 | global.actfirst=0 | |
1833 | global.extraintro=0 | |
1834 | global.msg[0]="* Vegetoid and Loox attacked!" | |
1835 | global.monsterinstance[0] = instance_create(116,124,obj_loox) | |
1836 | global.monsterinstance[1] = instance_create(320,136,obj_vegetoid) | |
1837 | } | |
1838 | ||
1839 | if global.battlegroup = 15 then | |
1840 | { | |
1841 | global.monstertype[0] = 9 | |
1842 | global.monstertype[1] = 8 | |
1843 | global.monstertype[2] = 7 | |
1844 | global.batmusic=caster_load("music/battle1.ogg") | |
1845 | caster_loop(global.batmusic,0.5,1) | |
1846 | global.msc=0 | |
1847 | global.battlelv=0 | |
1848 | global.actfirst=0 | |
1849 | global.extraintro=0 | |
1850 | global.msg[0]="* Loox and co. decided to& pick on you!" | |
1851 | global.monsterinstance[0] = instance_create(14,124,obj_loox) | |
1852 | global.monsterinstance[1] = instance_create(218,136,obj_vegetoid) | |
1853 | global.monsterinstance[2] = instance_create(422,136,obj_migosp) | |
1854 | } | |
1855 | ||
1856 | if global.battlegroup = 16 then | |
1857 | { | |
1858 | global.monstertype[0] = 8 | |
1859 | global.monstertype[1] = 8 | |
1860 | global.monstertype[2] = 0 | |
1861 | global.batmusic=caster_load("music/battle1.ogg") | |
1862 | caster_loop(global.batmusic,0.5,1) | |
1863 | global.msc=0 | |
1864 | global.battlelv=0 | |
1865 | global.actfirst=0 | |
1866 | global.extraintro=0 | |
1867 | global.msg[0]="* A pair of Vegetoids& came out of the ground!" | |
1868 | global.monsterinstance[0] = instance_create(116,136,obj_vegetoid) | |
1869 | global.monsterinstance[1] = instance_create(320,136,obj_vegetoid) | |
1870 | } | |
1871 | ||
1872 | if global.battlegroup = 17 then | |
1873 | { | |
1874 | global.monstertype[0] = 9 | |
1875 | global.monstertype[1] = 9 | |
1876 | global.monstertype[2] = 0 | |
1877 | global.batmusic=caster_load("music/battle1.ogg") | |
1878 | caster_loop(global.batmusic,0.5,1) | |
1879 | global.msc=0 | |
1880 | global.battlelv=0 | |
1881 | global.actfirst=0 | |
1882 | global.extraintro=0 | |
1883 | global.msg[0]="* A pair of Loox& decided to pick on you!" | |
1884 | global.monsterinstance[0] = instance_create(116,124,obj_loox) | |
1885 | global.monsterinstance[1] = instance_create(320,124,obj_loox) | |
1886 | } | |
1887 | ||
1888 | if global.battlegroup = 18 then | |
1889 | { | |
1890 | global.monstertype[0] = 8 | |
1891 | global.monstertype[1] = 0 | |
1892 | global.monstertype[2] = 0 | |
1893 | global.batmusic=caster_load("music/battle1.ogg") | |
1894 | caster_loop(global.batmusic,0.5,1) | |
1895 | global.msc=0 | |
1896 | global.battlelv=0 | |
1897 | global.actfirst=0 | |
1898 | global.extraintro=0 | |
1899 | global.msg[0]="* Vegetoid came out of the earth!" | |
1900 | global.monsterinstance[0] = instance_create(218,136,obj_vegetoid) | |
1901 | } | |
1902 | ||
1903 | if global.battlegroup = 19 then | |
1904 | { | |
1905 | global.monstertype[0] = 0 | |
1906 | global.monstertype[1] = 0 | |
1907 | global.monstertype[2] = 0 | |
1908 | global.batmusic=caster_load("music/battle1.ogg") | |
1909 | caster_loop(global.batmusic,0.3,0.5) | |
1910 | global.msc=0 | |
1911 | global.battlelv=0 | |
1912 | global.actfirst=0 | |
1913 | global.extraintro=2 | |
1914 | global.msg[2]="* But nobody came./%" | |
1915 | } | |
1916 | ||
1917 | ||
1918 | ||
1919 | if global.battlegroup = 20 then | |
1920 | { | |
1921 | global.monstertype[0] = 11 | |
1922 | global.monstertype[1] = 0 | |
1923 | global.monstertype[2] = 0 | |
1924 | global.batmusic=caster_load("music/ghostbattle.ogg") | |
1925 | caster_loop(global.batmusic,1,1) | |
1926 | global.msc=0 | |
1927 | global.battlelv=0 | |
1928 | global.actfirst=0 | |
1929 | global.extraintro=0 | |
1930 | global.msg[0]="* Here comes Napstablook." | |
1931 | global.monsterinstance[0] = instance_create(266,106,obj_napstablook) | |
1932 | } | |
1933 | ||
1934 | if global.battlegroup = 21 then | |
1935 | { | |
1936 | global.monstertype[0] = 9 | |
1937 | global.monstertype[1] = 0 | |
1938 | global.monstertype[2] = 0 | |
1939 | global.batmusic=caster_load("music/battle1.ogg") | |
1940 | caster_loop(global.batmusic,0.5,1) | |
1941 | global.msc=0 | |
1942 | global.battlelv=0 | |
1943 | global.actfirst=0 | |
1944 | global.extraintro=0 | |
1945 | global.msg[0]="* Loox drew near!" | |
1946 | global.monsterinstance[0] = instance_create(218,124,obj_loox) | |
1947 | } | |
1948 | ||
1949 | if global.battlegroup = 22 then | |
1950 | { | |
1951 | global.monstertype[0] = 10 | |
1952 | global.monstertype[1] = 0 | |
1953 | global.monstertype[2] = 0 | |
1954 | global.batmusic=caster_load("music/boss1.ogg") | |
1955 | caster_loop(global.batmusic,1,1) | |
1956 | global.msc=0 | |
1957 | global.battlelv=0 | |
1958 | global.actfirst=0 | |
1959 | global.extraintro=0 | |
1960 | global.msg[0]="* Toriel blocks the way!" | |
1961 | global.monsterinstance[0] = instance_create(250,42,obj_torielboss) | |
1962 | } | |
1963 | ||
1964 | ||
1965 | if global.battlegroup = 23 then //doge B | |
1966 | { | |
1967 | global.monstertype[0] = 13 | |
1968 | global.monstertype[1] = 0 | |
1969 | global.monstertype[2] = 0 | |
1970 | global.batmusic=caster_load("music/battle1.ogg") | |
1971 | caster_loop(global.batmusic,0.5,1) | |
1972 | global.msc=0 | |
1973 | global.battlelv=0 | |
1974 | global.actfirst=0 | |
1975 | global.extraintro=0 | |
1976 | global.msg[0]="* Doge appears." | |
1977 | global.monsterinstance[0] = instance_create(216,38,obj_dogeB) | |
1978 | } | |
1979 | ||
1980 | global.turn = 0 | |
1981 | ||
1982 | #define SCR_TEXTTYPE | |
1983 | if argument0 != 0 then global.typer = argument0 | |
1984 | if global.typer = 1 then script_execute(SCR_TEXTSETUP,fnt_main,c_white,x+20,y+20,x+(global.idealborder[1]-55),1,1,SND_TXT2,16,32) //main battle | |
1985 | if global.typer = 2 then script_execute(SCR_TEXTSETUP,fnt_plain,c_black,x,y,x+190,43,2,SND_TXT1,9,20) | |
1986 | if global.typer = 3 then script_execute(SCR_TEXTSETUP,fnt_curs,c_teal,x,y,x+100,39,3,SND_TXT1,10,10) | |
1987 | if global.typer = 4 then script_execute(SCR_TEXTSETUP,fnt_maintext,c_white,x+20,y+20,view_xview[view_current]+290,0,1,snd_txttor,8,18) //main toriel | |
1988 | if global.typer = 5 then script_execute(SCR_TEXTSETUP,fnt_maintext,c_white,x+20,y+20,view_xview[view_current]+290,0,1,SND_TXT1,8,18) //main overworld | |
1989 | if global.typer = 6 then script_execute(SCR_TEXTSETUP,fnt_plain,c_black,x,y,x+200,0.5,1,snd_floweytalk1,9,20) //flowey in battle | |
1990 | if global.typer = 7 then script_execute(SCR_TEXTSETUP,fnt_plain,c_black,x,y,x+200,2,2,snd_floweytalk2,9,20) //evilflowey in battle | |
1991 | if global.typer = 8 then script_execute(SCR_TEXTSETUP,fnt_plain,c_black,x,y,x+200,0.5,1,snd_txttor,9,20) //toriel in battle | |
1992 | if global.typer = 9 then script_execute(SCR_TEXTSETUP,fnt_maintext,c_white,x+20,y+20,view_xview[view_current]+290,0,1,snd_floweytalk1,8,18) //flowey overworld | |
1993 | if global.typer = 10 then script_execute(SCR_TEXTSETUP,fnt_maintext,c_white,x+20,y+20,view_xview[view_current]+290,0,1,snd_nosound,8,18) //main overworld SILENT | |
1994 | if global.typer = 11 then script_execute(SCR_TEXTSETUP,fnt_maintext,c_white,x+20,y+20,view_xview[view_current]+290,0,2,SND_TXT2,9,18) //intro | |
1995 | if global.typer = 12 then script_execute(SCR_TEXTSETUP,fnt_plain,c_black,x,y,x+200,1,3,snd_txttor2,10,20) //toriel-beaten in battle | |
1996 | if global.typer = 13 then script_execute(SCR_TEXTSETUP,fnt_plain,c_black,x,y,x+200,2,4,snd_txttor2,11,20) //toriel-beaten in battle | |
1997 | if global.typer = 14 then script_execute(SCR_TEXTSETUP,fnt_plain,c_black,x,y,x+200,3,5,snd_txttor2,14,20) //toriel-beaten in battle | |
1998 | if global.typer = 15 then script_execute(SCR_TEXTSETUP,fnt_plain,c_black,x,y,x+200,0,10,snd_txttor2,18,20) //toriel-beaten in battle | |
1999 | if global.typer = 16 then script_execute(SCR_TEXTSETUP,fnt_maintext,c_white,x+20,y+20,view_xview[view_current]+290,1.2,2,snd_floweytalk2,8,18) //evilflowey overworld | |
2000 | if global.typer = 17 then script_execute(SCR_TEXTSETUP,fnt_comicsans,c_white,x+20,y+20,view_xview[view_current]+290,0.8,1,snd_txtsans,8,18) //sas overworld | |
2001 | if global.typer = 18 then script_execute(SCR_TEXTSETUP,fnt_papyrus,c_white,x+20,y+20,view_xview[view_current]+290,0,1,snd_txtpap,11,18) //pap overworld | |
2002 | if global.typer = 19 then script_execute(SCR_TEXTSETUP,fnt_papyrus,c_white,x+20,y+20,view_xview[view_current]+290,0,1,snd_txtpap,15,18) //pap all capitals overworld | |
2003 | if global.typer = 20 then script_execute(SCR_TEXTSETUP,fnt_plainbig,c_black,x,y,x+200,0,2,snd_floweytalk2,25,20) //huge evilflowey | |
2004 | if global.typer = 30 then script_execute(SCR_TEXTSETUP,fnt_main,c_white,x+20,y+20,9999,0,2,snd_txtasg,20,36) //asgore gameover text | |
2005 | if global.typer = 31 then script_execute(SCR_TEXTSETUP,fnt_maintext,c_white,x+20,y+20,9999,0,2,snd_txtasg,12,18) | |
2006 | ||
2007 | #define scr_itemdesc | |
2008 | //argument0 = whats the item | |
2009 | switch(true) | |
2010 | { | |
2011 | case argument0=0: //monster candy | |
2012 | global.msg[0] = '* If you are reading this,& I messed up somehow./%' | |
2013 | break; | |
2014 | case argument0=1: //monster candy | |
2015 | global.msg[0] = '* "Monster Candy" - Heals 10 HP&* Has a distinct,^1 & non-licorice flavor./%' | |
2016 | break; | |
2017 | case argument0=2: // croquette roll | |
2018 | global.msg[0] = '* "Croquet Roll" - Heals 15 HP&* Fried dough traditionally& served with a mallet./%' | |
2019 | break; | |
2020 | case argument0=3: //butter knife | |
2021 | global.msg[0] = '* "Stick" - Weapon AT 0&* Its bark is worse than& its bite./%' | |
2022 | break; | |
2023 | case argument0=4: //bandage | |
2024 | global.msg[0] = '* "Bandage" - Heals 10 HP&* It has already been used& several times./%' | |
2025 | break; | |
2026 | case argument0=5: //ancient toffee | |
2027 | global.msg[0] = '* "Rock Candy" - Heals 1 HP&* Here is a recipe to make& this at home:/' | |
2028 | global.msg[1] = "* 1. Find a rock/%" | |
2029 | break; | |
2030 | case argument0=6: //pumpkin rings | |
2031 | global.msg[0] = '* "Pumpkin Rings" - Heals 8 HP&* A small pumpkin cooked& like onion rings./%' | |
2032 | break; | |
2033 | case argument0=7: //Spider Donut | |
2034 | global.msg[0] = '* "Spider Donut" - Heals 12 HP&* A donut made with Spider& Cider in the batter./%' | |
2035 | break; | |
2036 | case argument0=8: //Stoic Onions | |
2037 | global.msg[0] = '* "Stoic Onion" - Heals 5 HP&'+"* Even eating it raw^1, the& tears just won't come./%" | |
2038 | break; | |
2039 | case argument0=9: //Ghost Fruit | |
2040 | global.msg[0] = '* "Ghost Fruit" - Heals 16 HP&'+"* If eaten^1, it will never& pass to the other side./%" | |
2041 | break; | |
2042 | case argument0=10: //Spider Cider | |
2043 | global.msg[0] = '* "Spider Cider" - Heals 22 HP&* Made with whole spiders^1,& not just the juice./%' | |
2044 | break; | |
2045 | case argument0=11: //Butterscotch Pie | |
2046 | global.msg[0] = '* "Butterscotch Pie" - All HP&* Butterscotch-cinnamon& pie^1, one slice./%' | |
2047 | break; | |
2048 | case argument0=12: //ribbon | |
2049 | global.msg[0] = '* "Faded Ribbon" - Armor DF 3&* Monsters will be reluctant& to hit you./%' | |
2050 | break; | |
2051 | case argument0=13: //ribbon | |
2052 | global.msg[0] = '* "Toy Knife" - Weapon AT 3&* Made of plastic.&* A rarity nowadays./%' | |
2053 | break; | |
2054 | } | |
2055 | ||
2056 | ||
2057 | #define scr_attack | |
2058 | if global.weapon = 3 || global.weapon=13 then | |
2059 | { | |
2060 | instance_create(global.idealborder[0]+6, global.idealborder[2]+6, obj_target) | |
2061 | } | |
2062 | ||
2063 | #define scr_attackcalc | |
2064 | defarg = global.monsterdef[global.mytarget] | |
2065 | global.pwr = global.wstrength + global.at | |
2066 | damage = global.pwr - defarg | |
2067 | ||
2068 | ||
2069 | #define SCR_BORDER | |
2070 | xx = 0 | |
2071 | yy = 0 | |
2072 | if argument0 = 0 then | |
2073 | { | |
2074 | xx = round(random(global.idealborder[1] - global.idealborder[0])) + global.idealborder[0] | |
2075 | yy = global.idealborder[2] | |
2076 | } | |
2077 | if argument0 = 1 then | |
2078 | { | |
2079 | xx = round(random(global.idealborder[1] - global.idealborder[0])) + global.idealborder[0] | |
2080 | yy = global.idealborder[3] - argument1 | |
2081 | } | |
2082 | if argument0 = 2 then | |
2083 | { | |
2084 | yy = round(random(global.idealborder[3] - global.idealborder[2])) + global.idealborder[2] | |
2085 | xx = global.idealborder[0] | |
2086 | } | |
2087 | if argument0 = 3 then | |
2088 | { | |
2089 | yy = round(random(global.idealborder[3] - global.idealborder[2])) + global.idealborder[2] | |
2090 | xx = global.idealborder[1] - argument1 | |
2091 | } | |
2092 | ||
2093 | #define scr_gameoverb | |
2094 | global.hp=0 | |
2095 | if global.battlegroup=22 then obj_torielboss.sprite_index=spr_torielboss_mouthcover | |
2096 | sleep(500) | |
2097 | sound_stop_all() | |
2098 | caster_stop(all) | |
2099 | caster_free(all) | |
2100 | global.myxb = obj_heart.x | |
2101 | global.myyb = obj_heart.y | |
2102 | room_goto(room_gameover) | |
2103 | ||
2104 | #define scr_depth | |
2105 | depth = 50000 - (y*10 + sprite_height*10) | |
2106 | ||
2107 | #define scr_interact | |
2108 | myinteract = 1 | |
2109 | ||
2110 | ||
2111 | #define scr_facechoice | |
2112 | if global.facechoice=1 | |
2113 | { | |
2114 | instance_create(writer.x-33,writer.y+25,obj_face_torieltalk) | |
2115 | instance_create(0,0,obj_torbody) | |
2116 | } | |
2117 | if global.facechoice=2 | |
2118 | { | |
2119 | instance_create(writer.x-36,writer.y+25,obj_face_floweytalk) | |
2120 | } | |
2121 | if global.facechoice=3 | |
2122 | { | |
2123 | instance_create(writer.x-35,writer.y+25,obj_face_sans) | |
2124 | } | |
2125 | if global.facechoice=4 | |
2126 | { | |
2127 | instance_create(writer.x-35,writer.y+25,obj_face_papyrus) | |
2128 | } | |
2129 | ||
2130 | #define scr_gotobattle | |
2131 | ||
2132 | #define scr_npcsetup | |
2133 | halt = 0 | |
2134 | myinteract = 0 | |
2135 | stopped=1 | |
2136 | movementtype=argument0 | |
2137 | facing=-1 | |
2138 | ||
2139 | //argument0 = movement type | |
2140 | //2 = faces different directions, talks | |
2141 | //1 = only animates in place | |
2142 | if movementtype=2 then | |
2143 | { | |
2144 | facing=0 | |
2145 | } | |
2146 | ||
2147 | #define scr_npcdir | |
2148 | if myinteract=0 then | |
2149 | { | |
2150 | ||
2151 | if direction>=225 and direction < 315 then | |
2152 | { | |
2153 | facing = 0 | |
2154 | sprite_index=dsprite | |
2155 | } | |
2156 | if direction>= 315 or direction < 45 then | |
2157 | { | |
2158 | facing = 1 | |
2159 | sprite_index=rsprite | |
2160 | } | |
2161 | if direction>=45 and direction < 135 then | |
2162 | { | |
2163 | facing = 2 | |
2164 | sprite_index=usprite | |
2165 | } | |
2166 | if direction>=135 and direction < 225 then | |
2167 | { | |
2168 | facing = 3 | |
2169 | sprite_index=lsprite | |
2170 | } | |
2171 | ||
2172 | } | |
2173 | ||
2174 | if myinteract=1+argument0 then | |
2175 | { | |
2176 | if facing=0 then sprite_index=dtsprite | |
2177 | if facing=1 then sprite_index=rtsprite | |
2178 | if facing=2 then sprite_index=utsprite | |
2179 | if facing=3 then sprite_index=ltsprite | |
2180 | } | |
2181 | ||
2182 | #define scr_storageshift | |
2183 | //argument0=from which item are we shifting | |
2184 | //argument1=what's the item ID we're shifting? if the ID is 0, the item has been used up | |
2185 | //argument2=offset | |
2186 | global.flag[argument2+10]=argument1 | |
2187 | for (i=argument0;i<10;i+=1) | |
2188 | { | |
2189 | global.flag[i+argument2]=global.flag[i+argument2+1] | |
2190 | } | |
2191 | ||
2192 | script_execute(scr_itemnameb) | |
2193 | script_execute(scr_storagename) | |
2194 | ||
2195 | #define scr_itemget | |
2196 | //argument0=id of item we are being given | |
2197 | i=0 | |
2198 | loop=1 | |
2199 | noroom=0 | |
2200 | global.item[8]=999 | |
2201 | while (loop=1) | |
2202 | { | |
2203 | if global.item[i]=0 then | |
2204 | { | |
2205 | global.item[i]=argument0 | |
2206 | break | |
2207 | } | |
2208 | if i=8 then | |
2209 | { | |
2210 | script_execute(scr_itemnospace) | |
2211 | break; | |
2212 | } | |
2213 | i+=1 | |
2214 | } | |
2215 | ||
2216 | script_execute(scr_itemnameb) | |
2217 | script_execute(scr_itemname) | |
2218 | ||
2219 | #define scr_itemnospace | |
2220 | noroom=1 | |
2221 | ||
2222 | #define scr_itemname | |
2223 | for (i=0;i<8;i+=1) | |
2224 | { | |
2225 | itemid=global.item[i] | |
2226 | ||
2227 | ||
2228 | scr_itemnamelist() | |
2229 | ||
2230 | ||
2231 | } | |
2232 | ||
2233 | #define scr_itemnameb | |
2234 | for (i=0;i<8;i+=1) | |
2235 | { | |
2236 | itemid=global.item[i] | |
2237 | ||
2238 | ||
2239 | ||
2240 | ||
2241 | switch(true) | |
2242 | { | |
2243 | case itemid=1: | |
2244 | global.itemnameb[i]="MnstrCndy" | |
2245 | break; | |
2246 | case itemid=2: | |
2247 | global.itemnameb[i]="CroqtRoll" | |
2248 | break; | |
2249 | case itemid=3: | |
2250 | if global.seriousbattle=0 then global.itemnameb[i]="Stick " | |
2251 | if global.seriousbattle=1 then global.itemnameb[i]="Stick " | |
2252 | break; | |
2253 | case itemid=4: | |
2254 | global.itemnameb[i]="Bandage " | |
2255 | break; | |
2256 | case itemid=5: | |
2257 | global.itemnameb[i]="RockCandy" | |
2258 | break; | |
2259 | case itemid=6: | |
2260 | global.itemnameb[i]="PunkRings" | |
2261 | if global.seriousbattle=1 then global.itemnameb[i]="PmknRings" | |
2262 | break; | |
2263 | case itemid=7: | |
2264 | global.itemnameb[i]="SpidrDont" | |
2265 | if global.seriousbattle=1 then global.itemnameb[i]="SpdrDonut" | |
2266 | break; | |
2267 | case itemid=8: | |
2268 | global.itemnameb[i]="StocOnoin" | |
2269 | if global.seriousbattle=1 then global.itemnameb[i]="Onion " | |
2270 | break; | |
2271 | case itemid=9: | |
2272 | global.itemnameb[i]="GhostFrut" | |
2273 | if global.seriousbattle=1 then global.itemnameb[i]="GhstFruit" | |
2274 | break; | |
2275 | case itemid=10: | |
2276 | global.itemnameb[i]="SpidrCidr" | |
2277 | if global.seriousbattle=1 then global.itemnameb[i]="SpdrCider" | |
2278 | break; | |
2279 | case itemid=11: | |
2280 | global.itemnameb[i]="ButtsPie " | |
2281 | if global.seriousbattle=1 then global.itemnameb[i]="Pie " | |
2282 | break; | |
2283 | case itemid=12: | |
2284 | global.itemnameb[i]="Ribbon " | |
2285 | break; | |
2286 | case itemid=13: | |
2287 | global.itemnameb[i]="Toy Knife" | |
2288 | break; | |
2289 | } | |
2290 | ||
2291 | ||
2292 | ||
2293 | ||
2294 | } | |
2295 | ||
2296 | #define scr_itemrewrite | |
2297 | OBJ_WRITER.halt=3 | |
2298 | OBJ_INSTAWRITER.halt=3 | |
2299 | if global.bmenuno=3 then global.msc=9 | |
2300 | if global.bmenuno=3.5 then global.msc=10 | |
2301 | instance_create(global.idealborder[0],global.idealborder[2],OBJ_INSTAWRITER) | |
2302 | ||
2303 | #define scr_levelup | |
2304 | currentlevel=global.lv | |
2305 | if global.xp >= 10 then global.lv=2 | |
2306 | if global.xp >= 30 then global.lv=3 | |
2307 | if global.xp >= 70 then global.lv=4 | |
2308 | if global.xp >= 120 then global.lv=5 | |
2309 | if global.xp >= 200 then global.lv=6 | |
2310 | if global.xp >= 300 then global.lv=7 | |
2311 | if global.xp >= 500 then global.lv=8 | |
2312 | if global.xp >= 800 then global.lv=9 | |
2313 | if global.xp >= 1200 then global.lv=10 | |
2314 | if global.xp >= 1700 then global.lv=11 | |
2315 | if global.xp >= 2500 then global.lv=12 | |
2316 | if global.xp >= 3500 then global.lv=13 | |
2317 | if global.xp >= 5000 then global.lv=14 | |
2318 | if global.xp >= 7000 then global.lv=15 | |
2319 | if global.xp >= 10000 then global.lv=16 | |
2320 | if global.xp >= 15000 then global.lv=17 | |
2321 | if global.xp >= 25000 then global.lv=18 | |
2322 | if global.xp >= 50000 then global.lv=19 | |
2323 | if global.xp >= 99999 then | |
2324 | { | |
2325 | global.lv=20 | |
2326 | global.xp=99999 | |
2327 | } | |
2328 | if global.lv!=currentlevel then | |
2329 | { | |
2330 | levelup=true | |
2331 | global.maxhp+=((global.lv-currentlevel)*4) | |
2332 | global.maxen+=((global.lv-currentlevel)*4) | |
2333 | global.at+=(global.lv-currentlevel) | |
2334 | global.df+=(global.lv-currentlevel) | |
2335 | } | |
2336 | else levelup=false | |
2337 | ||
2338 | #define scr_weaponeq | |
2339 | //argument0=which item are we equipping | |
2340 | //argument1=what's the item ID we're shifting? if the ID is 0, the item has been used up | |
2341 | global.item[argument0]=global.weapon | |
2342 | global.weapon=argument1 | |
2343 | if global.weapon=3 then global.wstrength = 0 | |
2344 | if global.weapon=13 then global.wstrength = 3 | |
2345 | script_execute(scr_itemnameb) | |
2346 | script_execute(scr_itemname) | |
2347 | ||
2348 | #define scr_armoreq | |
2349 | //argument0=which item are we equipping | |
2350 | //argument1=what's the item ID we're shifting? if the ID is 0, the item has been used up | |
2351 | global.item[argument0]=global.armor | |
2352 | global.armor=argument1 | |
2353 | if global.armor=4 then global.adef = 0 | |
2354 | if global.armor=12 then global.adef = 3 | |
2355 | script_execute(scr_itemnameb) | |
2356 | script_execute(scr_itemname) | |
2357 | ||
2358 | #define scr_itemuseb | |
2359 | //argument0 = where's the item | |
2360 | //argument1 = whats the item | |
2361 | switch(true) | |
2362 | { | |
2363 | case argument1=1: //monster candy | |
2364 | global.msg[0] = "* You ate the Monster Candy." | |
2365 | if global.seriousbattle=0 | |
2366 | { | |
2367 | randomtext=round(random(15)) | |
2368 | if randomtext<=2 then global.msg[0] += " &* Very un-licorice-like." | |
2369 | if randomtext=15 then global.msg[0] += " &* ... tastes like licorice." | |
2370 | } | |
2371 | script_execute(scr_recoitem,10) | |
2372 | instance_create(0,0,obj_foodsound) | |
2373 | script_execute(scr_itemshift,argument0,0) | |
2374 | break; | |
2375 | case argument1=2: // croquette roll | |
2376 | global.msg[0] = "* You hit the Croquet Roll into& your mouth." | |
2377 | if global.seriousbattle=1 then global.msg[0]="* You ate the Croquet Roll." | |
2378 | instance_create(0,0,obj_foodsound) | |
2379 | script_execute(scr_recoitem,15) | |
2380 | script_execute(scr_itemshift,argument0,0) | |
2381 | break; | |
2382 | case argument1=3: //butter knife | |
2383 | // scr_weaponeq(argument0,argument1) | |
2384 | // sound_play(snd_item) | |
2385 | script_execute(scr_writetext,0,"* You threw the stick away^1.&* Then picked it back up./%",0,0) | |
2386 | break; | |
2387 | case argument1=4: //bandage | |
2388 | global.msg[0] = "* You re-applied the bandage." | |
2389 | sound_play(snd_power) | |
2390 | if global.seriousbattle=0 then global.msg[0] += "&* Still kind of gooey." | |
2391 | script_execute(scr_recoitem,10) | |
2392 | script_execute(scr_itemshift,argument0,0) | |
2393 | break; | |
2394 | case argument1=5: //rock candy | |
2395 | global.msg[0] = "* You ate the Rock Candy." | |
2396 | script_execute(scr_recoitem,1) | |
2397 | instance_create(0,0,obj_foodsound) | |
2398 | script_execute(scr_itemshift,argument0,0) | |
2399 | break; | |
2400 | ||
2401 | case argument1=6: // pumpkin rings | |
2402 | global.msg[0] = "* You ate the Pumpkin Rings." | |
2403 | instance_create(0,0,obj_foodsound) | |
2404 | script_execute(scr_recoitem,8) | |
2405 | script_execute(scr_itemshift,argument0,0) | |
2406 | break; | |
2407 | ||
2408 | case argument1=7: // Spider Donut | |
2409 | global.msg[0] = "* You ate the Spider Donut." | |
2410 | if global.seriousbattle=0 | |
2411 | if global.inbattle=1 | |
2412 | { | |
2413 | randomtext=ceil(random(10)) | |
2414 | if randomtext>9 then | |
2415 | global.msg[0]= "* Don't worry^1, Spider didn't." | |
2416 | } | |
2417 | instance_create(0,0,obj_foodsound) | |
2418 | script_execute(scr_recoitem,12) | |
2419 | script_execute(scr_itemshift,argument0,0) | |
2420 | break; | |
2421 | ||
2422 | case argument1=8: // stoc on | |
2423 | global.msg[0] = "* You ate the Stoic Onion." | |
2424 | if global.seriousbattle=0 | |
2425 | { | |
2426 | randomtext=round(random(10)) | |
2427 | if randomtext>8 then | |
2428 | global.msg[0]+= "&* You didn't cry..." | |
2429 | } | |
2430 | instance_create(0,0,obj_foodsound) | |
2431 | script_execute(scr_recoitem,5) | |
2432 | script_execute(scr_itemshift,argument0,0) | |
2433 | break; | |
2434 | case argument1=9: // ghstrfuit | |
2435 | global.msg[0] = "* You ate the Ghost Fruit." | |
2436 | foodsounder=instance_create(0,0,obj_foodsound) | |
2437 | if global.seriousbattle=0 with foodsounder soundtype=2 | |
2438 | script_execute(scr_recoitem,16) | |
2439 | script_execute(scr_itemshift,argument0,0) | |
2440 | break; | |
2441 | case argument1=10: // spider cider | |
2442 | global.msg[0] = "* You drank the Spider Cider." | |
2443 | instance_create(0,0,obj_foodsound) | |
2444 | script_execute(scr_recoitem,22) | |
2445 | script_execute(scr_itemshift,argument0,0) | |
2446 | break; | |
2447 | case argument1=11: // Butterscotch pie | |
2448 | global.msg[0] = "* You ate the Butterscotch Pie." | |
2449 | instance_create(0,0,obj_foodsound) | |
2450 | script_execute(scr_recoitem,999) | |
2451 | script_execute(scr_itemshift,argument0,0) | |
2452 | break; | |
2453 | case argument1=12: //ribbon | |
2454 | scr_armoreq(argument0,argument1) | |
2455 | sound_play(snd_item) | |
2456 | script_execute(scr_writetext,0,"* You equipped the ribbon./%",0,0) | |
2457 | break; | |
2458 | case argument1=13: //soul knife | |
2459 | scr_weaponeq(argument0,argument1) | |
2460 | sound_play(snd_item) | |
2461 | script_execute(scr_writetext,0,"* You equipped Toy Knife./%",0,0) | |
2462 | break; | |
2463 | ||
2464 | ||
2465 | case argument1=201: //Say Hello | |
2466 | if global.plot<19.9 | |
2467 | { | |
2468 | if global.plot>18 and room=room_torhouse2 | |
2469 | { | |
2470 | sound_play(snd_phone) | |
2471 | script_execute(scr_writetext,1507,"x",0,0) | |
2472 | } | |
2473 | else | |
2474 | { | |
2475 | sound_play(snd_phone) | |
2476 | script_execute(scr_writetext,1501,"x",0,0) | |
2477 | } | |
2478 | } | |
2479 | else | |
2480 | { | |
2481 | sound_play(snd_phone) | |
2482 | script_execute(scr_writetext,1506,"x",0,0) | |
2483 | } | |
2484 | break; | |
2485 | case argument1=202: //Puzzle Help | |
2486 | if global.plot<19.9 | |
2487 | { | |
2488 | if global.plot>18 and room=room_torhouse2 | |
2489 | { | |
2490 | sound_play(snd_phone) | |
2491 | script_execute(scr_writetext,1507,"x",0,0) | |
2492 | } | |
2493 | else | |
2494 | { | |
2495 | sound_play(snd_phone) | |
2496 | script_execute(scr_writetext,1502,"x",0,0) | |
2497 | script_execute(scr_phoneshift,argument0,0) | |
2498 | } | |
2499 | } | |
2500 | else | |
2501 | { | |
2502 | sound_play(snd_phone) | |
2503 | script_execute(scr_writetext,1506,"x",0,0) | |
2504 | } | |
2505 | break; | |
2506 | case argument1=203: //About Yourself | |
2507 | if global.plot<19.9 | |
2508 | { | |
2509 | if global.plot>18 and room=room_torhouse2 | |
2510 | { | |
2511 | sound_play(snd_phone) | |
2512 | script_execute(scr_writetext,1507,"x",0,0) | |
2513 | } | |
2514 | else | |
2515 | { | |
2516 | sound_play(snd_phone) | |
2517 | script_execute(scr_writetext,1503,"x",0,0) | |
2518 | script_execute(scr_phoneshift,argument0,0) | |
2519 | } | |
2520 | } | |
2521 | else | |
2522 | { | |
2523 | sound_play(snd_phone) | |
2524 | script_execute(scr_writetext,1506,"x",0,0) | |
2525 | } | |
2526 | break; | |
2527 | case argument1=204: //Call her "mom" | |
2528 | if global.plot<19.9 | |
2529 | { | |
2530 | if global.plot>18 and room=room_torhouse2 | |
2531 | { | |
2532 | sound_play(snd_phone) | |
2533 | script_execute(scr_writetext,1507,"x",0,0) | |
2534 | } | |
2535 | else | |
2536 | { | |
2537 | sound_play(snd_phone) | |
2538 | script_execute(scr_writetext,1504,"x",0,0) | |
2539 | script_execute(scr_phoneshift,argument0,0) | |
2540 | } | |
2541 | } | |
2542 | else | |
2543 | { | |
2544 | sound_play(snd_phone) | |
2545 | script_execute(scr_writetext,1506,"x",0,0) | |
2546 | } | |
2547 | break; | |
2548 | case argument1=205: //flirt | |
2549 | if global.plot<19.9 | |
2550 | { | |
2551 | if global.plot>18 and room=room_torhouse2 | |
2552 | { | |
2553 | sound_play(snd_phone) | |
2554 | script_execute(scr_writetext,1507,"x",0,0) | |
2555 | } | |
2556 | else | |
2557 | { | |
2558 | sound_play(snd_phone) | |
2559 | if global.flag[41]=1 then script_execute(scr_phoneshift,argument0,0) | |
2560 | script_execute(scr_writetext,1505,"x",0,0) | |
2561 | } | |
2562 | } | |
2563 | else | |
2564 | { | |
2565 | sound_play(snd_phone) | |
2566 | script_execute(scr_writetext,1506,"x",0,0) | |
2567 | } | |
2568 | break; | |
2569 | } | |
2570 | ||
2571 | ||
2572 | #define scr_recover | |
2573 | global.hp+=argument0 | |
2574 | recovered=argument0 | |
2575 | if global.hp>global.maxhp then | |
2576 | { | |
2577 | global.hp=global.maxhp | |
2578 | maxedout=1 | |
2579 | } | |
2580 | else maxedout=0 | |
2581 | ||
2582 | #define scr_recoitem | |
2583 | script_execute(scr_recover,argument0) | |
2584 | global.item[8] = recovered | |
2585 | if maxedout=1 then global.item[8]=9999 | |
2586 | script_execute(scr_writetext,11,"x",0,0) | |
2587 | ||
2588 | #define scr_runaway | |
2589 | runvalue= (random(100) + global.lv*2 - global.battlelv*2 + 10*global.turn) | |
2590 | if runvalue > 50 then | |
2591 | { | |
2592 | runaway=1 | |
2593 | sound_play(snd_escaped) | |
2594 | obj_heart.hspeed=-3 | |
2595 | obj_heart.sprite_index=spr_heartgtfo | |
2596 | obj_heart.image_speed=0.5 | |
2597 | OBJ_WRITER.halt=3 | |
2598 | global.msc=14 | |
2599 | instance_create(global.idealborder[0],global.idealborder[2],OBJ_INSTAWRITER) | |
2600 | global.flag[11]=1 | |
2601 | } | |
2602 | ||
2603 | ||
2604 | #define scr_mercystandard | |
2605 | mercy=(global.monsterhp[myself] - global.at - global.wstrength + global.monsterdef[myself] - mercymod) | |
2606 | ||
2607 | #define scr_monsterdefeat | |
2608 | if killed = 1 then | |
2609 | { | |
2610 | global.xpreward[3]+= global.xpreward[myself] | |
2611 | global.goldreward[3]+= global.goldreward[myself] | |
2612 | global.vaporspeed=0 | |
2613 | global.monstersprite = sprite_index | |
2614 | ddd = instance_create(x,y,obj_vaporized) | |
2615 | //ddd = instance_create(x,y,obj_vaporacquirer) | |
2616 | ddd.image_speed = 0 | |
2617 | ddd.image_index = 1 | |
2618 | global.kills+=1 | |
2619 | global.areapop[global.area]-=1 | |
2620 | if global.areapop[global.area]<0 then global.areapop[global.area]=0 | |
2621 | global.flag[12]=1 | |
2622 | } | |
2623 | if killed = 0 then | |
2624 | { | |
2625 | //global.xpreward[3]+=floor(global.xpreward[myself]*((global.monstermaxhp[myself]-global.monsterhp[myself])/global.monstermaxhp[myself])) | |
2626 | global.goldreward[3]+=floor(global.goldreward[myself]*((global.monstermaxhp[myself]-global.monsterhp[myself])/global.monstermaxhp[myself])) | |
2627 | global.monstersprite = sprite_index | |
2628 | //global.vaporspeed=0 | |
2629 | //qqq = instance_create(x,y,obj_vaporizedspare) | |
2630 | ddd = instance_create(x,y,obj_spared) | |
2631 | ddd.image_speed = 0 | |
2632 | ddd.image_index = 1 | |
2633 | //qqq.image_speed = 0 | |
2634 | //qqq.image_index = 1 | |
2635 | global.flag[10]=1 | |
2636 | } | |
2637 | ||
2638 | global.monster[myself] = 0 | |
2639 | ||
2640 | #define scr_scinit | |
2641 | // screen base(view_wview and view_hview) | |
2642 | screen_x = 0; | |
2643 | screen_y = 0; | |
2644 | screen_w = 320; | |
2645 | screen_h = 240; | |
2646 | screen_scale = 2; | |
2647 | ||
2648 | // create a surface for the whole screen to be drawn on | |
2649 | screen = surface_create(screen_w,screen_h); | |
2650 | ||
2651 | // this will destroy the screen object if surfaces are not supported on the graphics card, reverting to the viewport method | |
2652 | if screen = -1{instance_destroy();} | |
2653 | ||
2654 | #define scr_begin | |
2655 | // this draws the surface on the screen | |
2656 | if (surface_exists(screen)) | |
2657 | { | |
2658 | surface_reset_target(); | |
2659 | draw_clear(0); | |
2660 | draw_set_blend_mode_ext(bm_one, bm_zero); | |
2661 | draw_surface_stretched(screen,screen_x,screen_y,screen_w*screen_scale,screen_h*screen_scale); | |
2662 | draw_set_blend_mode(bm_normal); | |
2663 | screen_refresh(); | |
2664 | ||
2665 | } | |
2666 | ||
2667 | #define scr_end | |
2668 | // this sets surface 'screen' as the drawing target for everything in the game, so all drawing will be done on this surface and not on the game screen | |
2669 | if !surface_exists(screen) screen = surface_create(screen_w,screen_h); | |
2670 | surface_set_target(screen); | |
2671 | ||
2672 | #define scr_saveprocess | |
2673 | global.lastsavedkills=global.kills | |
2674 | global.lastsavedtime=obj_time.time | |
2675 | global.lastsavedlv=global.lv | |
2676 | file="file"+string(global.filechoice) | |
2677 | myfileid=file_text_open_write(file) | |
2678 | file_text_write_string(myfileid,global.charname) | |
2679 | file_text_writeln(myfileid) | |
2680 | file_text_write_real(myfileid, (global.lv)) | |
2681 | file_text_writeln(myfileid) | |
2682 | file_text_write_real(myfileid, (global.maxhp)) | |
2683 | file_text_writeln(myfileid) | |
2684 | file_text_write_real(myfileid, (global.maxen)) | |
2685 | file_text_writeln(myfileid) | |
2686 | file_text_write_real(myfileid, (global.at)) | |
2687 | file_text_writeln(myfileid) | |
2688 | file_text_write_real(myfileid, (global.wstrength)) | |
2689 | file_text_writeln(myfileid) | |
2690 | file_text_write_real(myfileid, (global.df)) | |
2691 | file_text_writeln(myfileid) | |
2692 | file_text_write_real(myfileid, (global.adef)) | |
2693 | file_text_writeln(myfileid) | |
2694 | file_text_write_real(myfileid, (global.sp)) | |
2695 | file_text_writeln(myfileid) | |
2696 | file_text_write_real(myfileid, (global.xp)) | |
2697 | file_text_writeln(myfileid) | |
2698 | file_text_write_real(myfileid, (global.gold)) | |
2699 | file_text_writeln(myfileid) | |
2700 | file_text_write_real(myfileid, (global.kills)) | |
2701 | file_text_writeln(myfileid) | |
2702 | ||
2703 | for (i=0; i<8; i+=1) | |
2704 | { | |
2705 | file_text_write_real(myfileid, (global.item[i])) | |
2706 | file_text_writeln(myfileid) | |
2707 | file_text_write_real(myfileid, (global.phone[i])) | |
2708 | file_text_writeln(myfileid) | |
2709 | } | |
2710 | ||
2711 | file_text_write_real(myfileid, (global.weapon)) | |
2712 | file_text_writeln(myfileid) | |
2713 | file_text_write_real(myfileid, (global.armor)) | |
2714 | file_text_writeln(myfileid) | |
2715 | ||
2716 | for (i=0; i<512; i+=1) | |
2717 | { | |
2718 | file_text_write_real(myfileid, (global.flag[i])) | |
2719 | file_text_writeln(myfileid) | |
2720 | } | |
2721 | file_text_write_real(myfileid, (global.plot)) | |
2722 | file_text_writeln(myfileid) | |
2723 | ||
2724 | for (i=0; i<3; i+=1) | |
2725 | { | |
2726 | file_text_write_real(myfileid, (global.menuchoice[i])) | |
2727 | file_text_writeln(myfileid) | |
2728 | } | |
2729 | ||
2730 | file_text_write_real(myfileid, (global.currentsong)) | |
2731 | file_text_writeln(myfileid) | |
2732 | file_text_write_real(myfileid, (global.currentroom)) | |
2733 | file_text_writeln(myfileid) | |
2734 | file_text_write_real(myfileid, (obj_time.time)) | |
2735 | ||
2736 | file_text_close(myfileid) | |
2737 | ||
2738 | #define scr_load | |
2739 | filechoicebk=global.filechoice | |
2740 | room_set_persistent(global.currentroom,0) | |
2741 | script_execute(SCR_GAMESTART) | |
2742 | global.filechoice=filechoicebk | |
2743 | //now load everything that isnt default | |
2744 | ||
2745 | file="file"+string(global.filechoice) | |
2746 | myfileid=file_text_open_read(file) | |
2747 | global.charname=file_text_read_string(myfileid); file_text_readln(myfileid); | |
2748 | global.lv=file_text_read_real(myfileid); file_text_readln(myfileid); | |
2749 | global.maxhp=file_text_read_real(myfileid); file_text_readln(myfileid); | |
2750 | global.maxen=file_text_read_real(myfileid); file_text_readln(myfileid); | |
2751 | global.at=file_text_read_real(myfileid); file_text_readln(myfileid); | |
2752 | global.wstrength=file_text_read_real(myfileid); file_text_readln(myfileid); | |
2753 | global.df=file_text_read_real(myfileid); file_text_readln(myfileid); | |
2754 | global.adef=file_text_read_real(myfileid); file_text_readln(myfileid); | |
2755 | global.sp=file_text_read_real(myfileid); file_text_readln(myfileid); | |
2756 | global.xp=file_text_read_real(myfileid); file_text_readln(myfileid); | |
2757 | global.gold=file_text_read_real(myfileid); file_text_readln(myfileid); | |
2758 | global.kills=file_text_read_real(myfileid); file_text_readln(myfileid); | |
2759 | ||
2760 | for (i=0; i<8; i+=1) | |
2761 | { | |
2762 | global.item[i]=file_text_read_real(myfileid); file_text_readln(myfileid); | |
2763 | global.phone[i]=file_text_read_real(myfileid); file_text_readln(myfileid); | |
2764 | } | |
2765 | ||
2766 | global.weapon=file_text_read_real(myfileid); file_text_readln(myfileid); | |
2767 | global.armor=file_text_read_real(myfileid); file_text_readln(myfileid); | |
2768 | ||
2769 | for (i=0; i<512; i+=1) | |
2770 | { | |
2771 | global.flag[i]=file_text_read_real(myfileid); file_text_readln(myfileid); | |
2772 | } | |
2773 | global.plot=file_text_read_real(myfileid); file_text_readln(myfileid); | |
2774 | ||
2775 | for (i=0; i<3; i+=1) | |
2776 | { | |
2777 | global.menuchoice[i]=file_text_read_real(myfileid); file_text_readln(myfileid); | |
2778 | } | |
2779 | ||
2780 | global.currentsong=file_text_read_real(myfileid); file_text_readln(myfileid); | |
2781 | global.currentroom=file_text_read_real(myfileid); file_text_readln(myfileid); | |
2782 | obj_time.time=file_text_read_real(myfileid); file_text_readln(myfileid); | |
2783 | ||
2784 | global.lastsavedkills=global.kills | |
2785 | global.lastsavedtime=obj_time.time | |
2786 | global.lastsavedlv=global.lv | |
2787 | ||
2788 | file_text_close(myfileid) | |
2789 | ||
2790 | global.hp=global.maxhp | |
2791 | global.en=global.maxen | |
2792 | ||
2793 | script_execute(scr_tempsave) | |
2794 | ||
2795 | room_goto(global.currentroom) | |
2796 | ||
2797 | ||
2798 | ||
2799 | #define scr_writetext | |
2800 | //arg0 = msc | |
2801 | //arg1 = msg | |
2802 | //arg2 = face plate | |
2803 | //arg3 = typer | |
2804 | ||
2805 | global.facechoice=0 | |
2806 | ||
2807 | global.msc=argument0 | |
2808 | if argument1 != "x" then global.msg[0]=argument1 | |
2809 | if argument2 != 0 then global.facechoice=argument2 | |
2810 | ||
2811 | if global.inbattle=0 then | |
2812 | { | |
2813 | global.typer=5 | |
2814 | if argument3!=0 then global.typer=argument3 | |
2815 | instance_create(0,0,obj_dialoguer) | |
2816 | } | |
2817 | ||
2818 | if global.inbattle=1 then | |
2819 | { | |
2820 | OBJ_WRITER.halt=3 | |
2821 | global.typer=1 | |
2822 | if argument3!=0 then global.typer=argument3 | |
2823 | instance_create(global.idealborder[0],global.idealborder[2],OBJ_WRITER) | |
2824 | } | |
2825 | ||
2826 | #define scr_npcdirspeed | |
2827 | if myinteract=0 then | |
2828 | { | |
2829 | ||
2830 | if vspeed>0 and vspeed>abs(hspeed) then | |
2831 | { | |
2832 | facing = 0 | |
2833 | sprite_index=dsprite | |
2834 | } | |
2835 | if hspeed>0 and hspeed>abs(vspeed) then | |
2836 | { | |
2837 | facing = 1 | |
2838 | sprite_index=rsprite | |
2839 | } | |
2840 | if vspeed<0 and abs(vspeed)>abs(hspeed) then | |
2841 | { | |
2842 | facing = 2 | |
2843 | sprite_index=usprite | |
2844 | } | |
2845 | if hspeed<0 and abs(hspeed)>abs(vspeed) then | |
2846 | { | |
2847 | facing = 3 | |
2848 | sprite_index=lsprite | |
2849 | } | |
2850 | ||
2851 | } | |
2852 | ||
2853 | if myinteract=1 then | |
2854 | { | |
2855 | if facing=0 then sprite_index=dtsprite | |
2856 | if facing=1 then sprite_index=rtsprite | |
2857 | if facing=2 then sprite_index=utsprite | |
2858 | if facing=3 then sprite_index=ltsprite | |
2859 | } | |
2860 | ||
2861 | #define scr_rotategen | |
2862 | global.bulletvariable[0] = argument0 //number | |
2863 | global.bulletvariable[1] = argument1 //radius | |
2864 | global.bulletvariable[2] = argument2 //bullettype | |
2865 | ||
2866 | gen=instance_create(argument3,argument4,obj_rotategen) | |
2867 | ||
2868 | #define scr_edge | |
2869 | //right border | |
2870 | //left border | |
2871 | ||
2872 | if x>global.idealborder[1]-argument0 then x-=argument0 | |
2873 | if x<global.idealborder[0]+argument1 then x+=argument1 | |
2874 | ||
2875 | #define scr_msgup | |
2876 | global.msc+=1 | |
2877 | stringno=0 | |
2878 | stringpos=1 //which character of the string it starts on | |
2879 | lineno=0 //default the line's vertical space | |
2880 | writingx = round(writingx) | |
2881 | writingy = round(writingy) | |
2882 | myx = writingx | |
2883 | myy = writingy | |
2884 | ||
2885 | script_execute(SCR_TEXT,global.msc) | |
2886 | ||
2887 | for (n=0; global.msg[n]!="%%%"; n+=1) | |
2888 | { | |
2889 | mystring[n]=global.msg[n] | |
2890 | } | |
2891 | ||
2892 | originalstring=mystring[0] | |
2893 | ||
2894 | halt=0 //if 1, you must hit enter to continue | |
2895 | alarm[0]=textspeed | |
2896 | ||
2897 | #define scr_phonename | |
2898 | for (i=0;i<8;i+=1) | |
2899 | { | |
2900 | global.phonename[i]=" " | |
2901 | } | |
2902 | ||
2903 | for (i=0;i<8;i+=1) | |
2904 | { | |
2905 | itemid=global.phone[i] | |
2906 | ||
2907 | ||
2908 | ||
2909 | ||
2910 | switch(true) | |
2911 | { | |
2912 | //phone numbers | |
2913 | case itemid=201: | |
2914 | global.phonename[i]="Say Hello" | |
2915 | break; | |
2916 | case itemid=202: | |
2917 | global.phonename[i]="Puzzle Help" | |
2918 | break; | |
2919 | case itemid=203: | |
2920 | global.phonename[i]="About Yourself" | |
2921 | break; | |
2922 | case itemid=204: | |
2923 | global.phonename[i]='Call Her "Mom"' | |
2924 | break; | |
2925 | case itemid=205: | |
2926 | global.phonename[i]="Flirt" | |
2927 | break; | |
2928 | } | |
2929 | ||
2930 | ||
2931 | ||
2932 | ||
2933 | } | |
2934 | ||
2935 | #define scr_phoneshift | |
2936 | //argument0=from which item are we shifting | |
2937 | //argument1=what's the item ID we're shifting? if the ID is 0, the item has been used up | |
2938 | global.phone[8]=argument1 | |
2939 | for (i=argument0;i<8;i+=1) | |
2940 | { | |
2941 | global.phone[i]=global.phone[i+1] | |
2942 | } | |
2943 | ||
2944 | script_execute(scr_phonename) | |
2945 | ||
2946 | #define scr_phoneget | |
2947 | //argument0=id of item we are being given | |
2948 | i=0 | |
2949 | loop=1 | |
2950 | global.phone[8]=999 | |
2951 | while (loop=1) | |
2952 | { | |
2953 | if global.phone[i]=0 then | |
2954 | { | |
2955 | global.phone[i]=argument0 | |
2956 | break | |
2957 | } | |
2958 | if i=8 then | |
2959 | { | |
2960 | script_execute(scr_itemnospace) | |
2961 | break; | |
2962 | } | |
2963 | i+=1 | |
2964 | } | |
2965 | ||
2966 | script_execute(scr_phonename) | |
2967 | ||
2968 | #define scr_itemcheck | |
2969 | //argument0 = what's the item | |
2970 | haveit=0 | |
2971 | for (i=0; i<8; i+=1) | |
2972 | { | |
2973 | if global.item[i]=argument0 then haveit=1 | |
2974 | } | |
2975 | ||
2976 | #define scr_steps | |
2977 | //argument0 = base steps | |
2978 | //argument1 = randomized steps | |
2979 | //argument2 = population | |
2980 | //argument3 = population ID | |
2981 | ||
2982 | global.flag[200]=argument3 | |
2983 | if argument2 - global.flag[argument3] > 0 then | |
2984 | { | |
2985 | populationfactor=argument2/(argument2-global.flag[argument3]) | |
2986 | if populationfactor>8 then populationfactor=8 | |
2987 | steps=(argument0+round(random(argument1)))*populationfactor | |
2988 | } | |
2989 | else | |
2990 | { | |
2991 | steps=(argument0+argument1)*6 | |
2992 | if alldead=0 then alldead=1 | |
2993 | } | |
2994 | ||
2995 | #define scr_cost | |
2996 | //argument0=cost of item | |
2997 | if global.gold >= argument0 then afford=1 | |
2998 | else afford=0 | |
2999 | ||
3000 | #define scr_tempload | |
3001 | filechoicebk3=global.filechoice | |
3002 | global.filechoice=9 | |
3003 | script_execute(scr_load) | |
3004 | global.filechoice=filechoicebk3 | |
3005 | ||
3006 | ||
3007 | ||
3008 | #define scr_tempsave | |
3009 | filechoicebk2=global.filechoice | |
3010 | global.filechoice=9 | |
3011 | script_execute(scr_saveprocess) | |
3012 | global.filechoice=filechoicebk2 | |
3013 | ||
3014 | ||
3015 | #define scr_save | |
3016 | script_execute(scr_saveprocess) | |
3017 | ||
3018 | filechoicebk2=global.filechoice | |
3019 | global.filechoice=9 | |
3020 | script_execute(scr_saveprocess) | |
3021 | global.filechoice=filechoicebk2 | |
3022 | iniwrite=ini_open("undertale.ini") | |
3023 | ini_write_string("General","Name",global.charname) | |
3024 | ini_write_real("General","Love",global.lv) | |
3025 | ini_write_real("General","Time",obj_time.time) | |
3026 | ini_write_real("General","Kills",global.kills) | |
3027 | ini_write_real("General","Room",room) | |
3028 | ini_close() | |
3029 | ||
3030 | #define scr_onscreen | |
3031 | //argument0=xborder | |
3032 | //argument1=yborder | |
3033 | onscreen=0 | |
3034 | if x>view_xview[view_current]-argument0 and x<view_xview[view_current]+view_wview[view_current]+argument0 | |
3035 | if y<view_hview[view_current]+view_yview[view_current]+argument1 and y>view_yview[view_current]-argument1 then onscreen=1 | |
3036 | ||
3037 | #define scr_binfowrite | |
3038 | draw_set_color(c_red) | |
3039 | draw_rectangle(275,400,275 + global.maxhp*1.2, 420, false) | |
3040 | draw_set_color(c_yellow) | |
3041 | draw_rectangle(275,400,275 + global.hp*1.2, 420, false) | |
3042 | draw_set_color(c_white) | |
3043 | draw_set_font(fnt_curs) | |
3044 | hpwrite=string(global.hp) | |
3045 | if global.hp<10 then hpwrite="0"+string(global.hp) | |
3046 | draw_text(290+global.maxhp*1.2,400,hpwrite+ " / "+string(global.maxhp)) | |
3047 | draw_text(30,400,string(global.charname) +" LV " + string(global.lv)) | |
3048 | ||
3049 | #define Attention, Hackerz | |
3050 | //It's cool that you like my game this much. | |
3051 | ||
3052 | //Yes, I know these are easy to decompile... You can edit Yume Nikki and OFF in RPG Maker as well. This isn't really any different. | |
3053 | ||
3054 | //My only wish is that you don't spoil the game for anyone else. | |
3055 | //Wait for everyone to discover the secrets in here by themselves. | |
3056 | //Otherwise, there will be no replay value :( | |
3057 | ||
3058 | //I'd also appreciate it if you held off on significant modifications before the full game is released. | |
3059 | //I'll most likely be updating some things about the game that might make it interesting to play with. | |
3060 | ||
3061 | //I'll be watching... | |
3062 | ||
3063 | //Ha ha ha. | |
3064 | ||
3065 | #define scr_namingscreen | |
3066 | //selected=65 | |
3067 | //charname="" | |
3068 | //naming=3 | |
3069 | //selected2=0 | |
3070 | //selected3=0 | |
3071 | //q=0 | |
3072 | ||
3073 | ||
3074 | draw_set_color(c_white) | |
3075 | draw_set_font(fnt_maintext) | |
3076 | ||
3077 | if naming=4 then | |
3078 | { | |
3079 | global.charname=charname | |
3080 | instance_create(0,0,obj_whitefader) | |
3081 | caster_free(menusong1) | |
3082 | caster_free(menusong2) | |
3083 | caster_free(menusong3) | |
3084 | caster_free(menusong4) | |
3085 | alerm=0 | |
3086 | naming=5 | |
3087 | cy=caster_load("music/cymbal.ogg") | |
3088 | caster_play(cy,0.8,0.95) | |
3089 | } | |
3090 | ||
3091 | if naming=5 then | |
3092 | { | |
3093 | alerm+=1 | |
3094 | if q<120 then q+=1 | |
3095 | draw_text_transformed(140+random(r*2)-q/3,q/2+55+random(r*2),charname,1+q/50,1+q/50,random_ranger(-r*q/60,r*q/60)) | |
3096 | if alerm>179 then | |
3097 | { | |
3098 | instance_create(0,0,obj_persistentfader) | |
3099 | caster_free(cy) | |
3100 | room_goto_next() | |
3101 | } | |
3102 | } | |
3103 | ||
3104 | if naming=2 | |
3105 | { | |
3106 | if keyboard_multicheck_pressed(0)=1 | |
3107 | { | |
3108 | if selected2=1 and string_length(charname)>0 then naming=4 | |
3109 | if selected2=0 then naming=1 | |
3110 | keyboard_clear(vk_enter) | |
3111 | } | |
3112 | if naming=2 | |
3113 | { | |
3114 | draw_set_color(c_white) | |
3115 | if q<120 then q+=1 | |
3116 | draw_text_transformed(140+random(r*2)-q/3,q/2+55+random(r*2),charname,1+q/50,1+q/50,random_ranger(-r*q/60,r*q/60)) | |
3117 | draw_text(90,30,"Is this name correct?") | |
3118 | draw_set_color(c_white) | |
3119 | if selected2=0 then draw_set_color(c_yellow) //Quit | |
3120 | draw_text(70,200,"No") | |
3121 | draw_set_color(c_white) | |
3122 | if selected2=1 then draw_set_color(c_yellow) //Done | |
3123 | draw_text(210,200,"Yes") | |
3124 | ||
3125 | if keyboard_check_pressed(vk_right) or keyboard_check_pressed(vk_left) | |
3126 | { | |
3127 | if selected2=1 then selected2=0 | |
3128 | else selected2=1 | |
3129 | } | |
3130 | } | |
3131 | } | |
3132 | ||
3133 | if naming=1 then | |
3134 | { | |
3135 | if selected<65 then selected=65 | |
3136 | i=0 | |
3137 | j=0 | |
3138 | m=0 | |
3139 | r=0.5 | |
3140 | q=0 | |
3141 | for (n=65; n<91; n+=1) | |
3142 | { | |
3143 | draw_set_color(c_white) | |
3144 | if n=selected then draw_set_color(c_yellow) | |
3145 | draw_text(60+j*32+random(r),75+m*14+random(r),chr(n)) | |
3146 | j+=1 | |
3147 | if j>6 then {m+=1; j=0} | |
3148 | } | |
3149 | ||
3150 | i=0 | |
3151 | j=0 | |
3152 | m=0 | |
3153 | for (n=97; n<123; n+=1) | |
3154 | { | |
3155 | draw_set_color(c_white) | |
3156 | if n=selected then draw_set_color(c_yellow) | |
3157 | draw_text(60+j*32+random(r),135+m*14+random(r),chr(n)) | |
3158 | j+=1 | |
3159 | if j>6 then {m+=1; j=0} | |
3160 | } | |
3161 | ||
3162 | draw_set_color(c_white) | |
3163 | if selected=123 then draw_set_color(c_yellow) //Quit | |
3164 | draw_text(60,200,"Quit") | |
3165 | draw_set_color(c_white) | |
3166 | if selected=124 then draw_set_color(c_yellow) //Backspace | |
3167 | draw_text(120,200,"Backspace") | |
3168 | draw_set_color(c_white) | |
3169 | if selected=125 then draw_set_color(c_yellow) //Done | |
3170 | draw_text(220,200,"Done") | |
3171 | ||
3172 | if keyboard_check_pressed(vk_right) | |
3173 | { | |
3174 | if selected=90 then selected=97 | |
3175 | else | |
3176 | if selected<125 then selected+=1 | |
3177 | } | |
3178 | ||
3179 | if keyboard_check_pressed(vk_left) | |
3180 | { | |
3181 | if selected=97 then selected=90 | |
3182 | else | |
3183 | if selected>65 then selected-=1 | |
3184 | } | |
3185 | ||
3186 | if keyboard_check_pressed(vk_down) | |
3187 | { | |
3188 | if selected<=122 | |
3189 | { | |
3190 | if selected>=86 and selected<=90 then selected+=4 | |
3191 | if selected=84 or selected=85 then selected+=11 | |
3192 | selected+=7 | |
3193 | if selected>=123 then selected=124 | |
3194 | } | |
3195 | else { | |
3196 | if (selected == 125) { selected = 70; } | |
3197 | else if (selected == 124) { selected = 68; } | |
3198 | else { selected = 65; } | |
3199 | } | |
3200 | } | |
3201 | ||
3202 | if keyboard_check_pressed(vk_up) | |
3203 | { | |
3204 | if selected>71 | |
3205 | { | |
3206 | if selected<=122 | |
3207 | { | |
3208 | if selected>=97 and selected<=101 then selected-=4 | |
3209 | if selected=102 or selected=103 then selected-=11 | |
3210 | selected-=7 | |
3211 | } | |
3212 | else selected=122 | |
3213 | } | |
3214 | else { | |
3215 | if (selected > 69) { selected = 125; } | |
3216 | else if (selected > 67) { selected = 124; } | |
3217 | else selected = 123; | |
3218 | } | |
3219 | } | |
3220 | ||
3221 | ||
3222 | if keyboard_multicheck_pressed(0)=1 | |
3223 | { | |
3224 | if selected>122 then | |
3225 | { | |
3226 | if selected=123 then naming=3 | |
3227 | if selected=124 then keyboard_key_press(vk_shift) | |
3228 | if selected=125 then | |
3229 | if string_length(charname)>0 then {naming=2; selected2=0} | |
3230 | keyboard_clear(vk_enter) | |
3231 | } | |
3232 | else | |
3233 | { | |
3234 | if string_length(charname)=6 then charname=string_delete(charname,6,1) | |
3235 | charname+=chr(selected) | |
3236 | //if string_length(charname)=6 and selected<123 then selected=125 | |
3237 | } | |
3238 | } | |
3239 | ||
3240 | if keyboard_multicheck_pressed(1)=1 | |
3241 | { | |
3242 | s=string_length(charname) | |
3243 | if s>0 then | |
3244 | { | |
3245 | charname=string_delete(charname,s,1) | |
3246 | } | |
3247 | keyboard_key_release(vk_shift) | |
3248 | } | |
3249 | ||
3250 | draw_set_color(c_white) | |
3251 | draw_text(140,55,charname) | |
3252 | draw_text(90,30,"Name the fallen human.") | |
3253 | ||
3254 | } | |
3255 | ||
3256 | if naming=3 then | |
3257 | { | |
3258 | iniread=ini_open("undertale.ini") | |
3259 | if ini_section_exists("General") then | |
3260 | { | |
3261 | ||
3262 | minutes=floor(time/1800) | |
3263 | seconds=round(((time/1800-minutes))*60) | |
3264 | if seconds=60 then seconds=0 | |
3265 | if seconds<10 then seconds="0"+string(seconds) | |
3266 | script_execute(scr_roomname,roome) | |
3267 | draw_text(70,60,name) | |
3268 | draw_text(140,60,"LV "+string(love)) | |
3269 | draw_text(210,60,string(minutes)+":"+string(seconds)) | |
3270 | draw_text(70,80,roomname) | |
3271 | //draw_text(120,130,string(kills)) | |
3272 | if selected3=0 then draw_set_color(c_yellow) | |
3273 | draw_text(85,110,"Continue") | |
3274 | draw_set_color(c_white) | |
3275 | if selected3=1 then draw_set_color(c_yellow) | |
3276 | draw_text(175,110,"Restart") | |
3277 | ||
3278 | if keyboard_check_pressed(vk_right) or keyboard_check_pressed(vk_left) then | |
3279 | { | |
3280 | if selected3=0 then selected3=1 | |
3281 | else selected3=0 | |
3282 | keyboard_clear(vk_left) | |
3283 | keyboard_clear(vk_right) | |
3284 | } | |
3285 | if keyboard_multicheck_pressed(0)=1 then | |
3286 | { | |
3287 | if selected3=0 then | |
3288 | { | |
3289 | caster_free(menusong1) | |
3290 | caster_free(menusong2) | |
3291 | caster_free(menusong3) | |
3292 | caster_free(menusong4) | |
3293 | if file_exists("file0")=false then room_goto_next() | |
3294 | else | |
3295 | { | |
3296 | script_execute(scr_load) | |
3297 | } | |
3298 | } | |
3299 | if selected3=1 then | |
3300 | { | |
3301 | naming=1 | |
3302 | keyboard_clear(vk_enter) | |
3303 | } | |
3304 | } | |
3305 | } | |
3306 | else | |
3307 | { | |
3308 | draw_text(70,60,"EMPTY") | |
3309 | // draw_text(140,60,"LV "+string(love)) | |
3310 | draw_text(210,60,"0:00") | |
3311 | draw_set_color(c_yellow) | |
3312 | draw_text(85,90," --- Instruction --") | |
3313 | draw_text(85,110,"[Z] - Confirm") | |
3314 | draw_text(85,128,"[X] - Cancel") | |
3315 | draw_text(85,146,"[C] - Menu (In-game)") | |
3316 | draw_text(85,164,"[F4] - Fullscreen") | |
3317 | draw_text(85,182,"[Hold ESC] - Quit") | |
3318 | draw_text(85,200,"When HP=0, you lose.") | |
3319 | if keyboard_multicheck_pressed(0)=1 then | |
3320 | { | |
3321 | naming=1 | |
3322 | keyboard_clear(vk_enter) | |
3323 | } | |
3324 | } | |
3325 | } | |
3326 | ||
3327 | ||
3328 | #define scr_roomname | |
3329 | roomname="error" | |
3330 | if argument0=0 then roomname="--" | |
3331 | if argument0=16 then roomname="Ruins - Entrance" | |
3332 | if argument0=25 then roomname="Ruins - Leaf Pile" | |
3333 | if argument0=35 then roomname="Ruins - Mouse Hole" | |
3334 | if argument0=51 then roomname="Ruins - Home" | |
3335 | ||
3336 | #define keyboard_multicheck | |
3337 | if argument0=0 or argument0=vk_enter | |
3338 | if keyboard_check(vk_enter) or keyboard_check(ord('z')) return true | |
3339 | if argument0=1 or argument0=vk_shift | |
3340 | if keyboard_check(vk_shift) or keyboard_check(ord('x')) return true | |
3341 | if argument0=2 or argument0=vk_control | |
3342 | if keyboard_check(vk_control) or keyboard_check(ord('c')) return true | |
3343 | // 0 = enter/z | |
3344 | // 1 = shift/X | |
3345 | // 2 = ctrl/C | |
3346 | ||
3347 | #define keyboard_multicheck_pressed | |
3348 | if argument0=0 or argument0=vk_enter | |
3349 | if keyboard_check_pressed(vk_enter) or keyboard_check_pressed(ord('z')) return true | |
3350 | if argument0=1 or argument0=vk_shift | |
3351 | if keyboard_check_pressed(vk_shift) or keyboard_check_pressed(ord('x')) return true | |
3352 | if argument0=2 or argument0=vk_control | |
3353 | if keyboard_check_pressed(vk_control) or keyboard_check_pressed(ord('c')) return true | |
3354 | // 0 = enter/z | |
3355 | // 1 = shift/X | |
3356 | // 2 = ctrl/C | |
3357 | ||
3358 | #define scr_blconmatch | |
3359 | if alarm[5] > 0 //makes all of the monsters extend their balloons as long as the longest one | |
3360 | { | |
3361 | if global.monster[0] = 1 if global.monsterinstance[0].alarm[5] > alarm[5] then alarm[5] = global.monsterinstance[0].alarm[5] | |
3362 | if global.monster[1] = 1 if global.monsterinstance[1].alarm[5] > alarm[5] then alarm[5] = global.monsterinstance[1].alarm[5] | |
3363 | if global.monster[2] = 1 then if global.monsterinstance[2].alarm[5] > alarm[5] then alarm[5] = global.monsterinstance[2].alarm[5] | |
3364 | } | |
3365 | ||
3366 | #define random_ranger | |
3367 | return random(abs(argument1-argument0))+min(argument1,argument0); | |
3368 | ||
3369 | ||
3370 | #define draw_self_border | |
3371 | l=0 | |
3372 | t=0 | |
3373 | w=sprite_width | |
3374 | h=sprite_height | |
3375 | ||
3376 | ll=global.idealborder[0]-x | |
3377 | tt=global.idealborder[2]-y | |
3378 | ww=(x+w)-global.idealborder[1] | |
3379 | hh=(y+h)-global.idealborder[3] | |
3380 | ||
3381 | if ll>0 then l+=ll | |
3382 | if tt>0 then t+=tt | |
3383 | if ww>0 then w-=ww | |
3384 | if hh>0 then h-=hh | |
3385 | ||
3386 | draw_sprite_part(sprite_index,image_index,l,t,w,h,x+l,y+t) | |
3387 | //draw_text(0,0,tt) | |
3388 | //draw_text(0,20,ll) | |
3389 | //draw_text(0,40,ww) | |
3390 | //draw_text(0,60,hh) | |
3391 | ||
3392 | #define scr_storagename | |
3393 | for (i=argument0;i<(argument0+11);i+=1) | |
3394 | { | |
3395 | global.itemname[i-argument0]=" " | |
3396 | } | |
3397 | ||
3398 | for (i=0;i<(11);i+=1) | |
3399 | { | |
3400 | itemid=global.flag[argument0+i] | |
3401 | scr_itemnamelist() | |
3402 | } | |
3403 | ||
3404 | #define scr_itemnamelist | |
3405 | ||
3406 | switch(true) | |
3407 | { | |
3408 | case itemid=0: | |
3409 | global.itemname[i]=" " | |
3410 | break; | |
3411 | case itemid=1: | |
3412 | global.itemname[i]="Monster Candy" | |
3413 | break; | |
3414 | case itemid=2: | |
3415 | global.itemname[i]="Croquet Roll" | |
3416 | break; | |
3417 | case itemid=3: | |
3418 | global.itemname[i]="Stick" | |
3419 | break; | |
3420 | case itemid=4: | |
3421 | global.itemname[i]="Bandage" | |
3422 | break; | |
3423 | case itemid=5: | |
3424 | global.itemname[i]="Rock Candy" | |
3425 | break; | |
3426 | case itemid=6: | |
3427 | global.itemname[i]="Pumpkin Rings" | |
3428 | break; | |
3429 | case itemid=7: | |
3430 | global.itemname[i]="Spider Donut" | |
3431 | break; | |
3432 | case itemid=8: | |
3433 | global.itemname[i]="Stoic Onion" | |
3434 | break; | |
3435 | case itemid=9: | |
3436 | global.itemname[i]="Ghost Fruit" | |
3437 | break; | |
3438 | case itemid=10: | |
3439 | global.itemname[i]="Spider Cider" | |
3440 | break; | |
3441 | case itemid=11: | |
3442 | global.itemname[i]="Butterscotch Pie" | |
3443 | break; | |
3444 | case itemid=12: | |
3445 | global.itemname[i]="Faded Ribbon" | |
3446 | break; | |
3447 | case itemid=13: | |
3448 | global.itemname[i]="Toy Knife" | |
3449 | break; | |
3450 | } | |
3451 | ||
3452 | #define scr_storageget | |
3453 | //argument0=id of item we are being given | |
3454 | //argument1=offset | |
3455 | i=0 | |
3456 | loop=1 | |
3457 | noroom=0 | |
3458 | global.flag[argument1+10]=999 | |
3459 | while (loop=1) | |
3460 | { | |
3461 | if global.flag[i+argument1]=0 then | |
3462 | { | |
3463 | global.flag[i+argument1]=argument0 | |
3464 | break | |
3465 | } | |
3466 | if i=10 then | |
3467 | { | |
3468 | script_execute(scr_itemnospace) | |
3469 | break; | |
3470 | } | |
3471 | i+=1 | |
3472 | } | |
3473 | ||
3474 | script_execute(scr_itemnameb) | |
3475 | script_execute(scr_storagename) | |
3476 | ||
3477 | #define scr_itemshift | |
3478 | //argument0=from which item are we shifting | |
3479 | //argument1=what's the item ID we're shifting? if the ID is 0, the item has been used up | |
3480 | global.item[8]=argument1 | |
3481 | for (i=argument0;i<8;i+=1) | |
3482 | { | |
3483 | global.item[i]=global.item[i+1] | |
3484 | } | |
3485 | ||
3486 | script_execute(scr_itemnameb) | |
3487 | script_execute(scr_itemname) | |
3488 | ||
3489 | #define scr_getvapordata | |
3490 | if sprite_index=spr_torielboss_kneelsmile2 then return "0000000000000000000000000001100000000000001100000000000000000000000000000000000000000000000000000011000000000000000110000000000000000000000000000000000000000000000000000011101111111111101110000000000000000000000000000000000000000000000000001100011111111111110001100000000000000000000000000000000000000000000000111111111111111111111111111000000000000000000000000000000000000000000001111011111101111101111110111100000000000000000000000000000000000000000001111011111111111111111110111100000000000000000000000000000000000000000011111011011101111101110110111110000000000000000000000000000000000000000011111001110001111100011100111110000000000000000000000000000000000000000011111001111111111111111100111110000000000000000000000000000000000000000011111100111110111011111001111110000000000000000000000000000000000000000001111100011111111111110001111100000000000000000000000000000000000011110001111110001101000101100011111100000000000000000000000000000000001111100010111110000011111110000011111010000000000000000000000000000000001111000010000000000000000000000000000010001000000000000000000000000000011111000010000001100000111000111100000010001110000000000000000000000000111111100000000000011100100101111000000010001111000000000000000000000000111111111111111101110001110000000000000101001111100000000000000000000001111111111111111110111111111000000000001001000111110000000000000000000001111111111111111111001111111001000000010001000111111000000000000000000001111111111111111111100111000011100000100001000111111100000000000000000000111110000000000001110000000000000001000001000111111110000000000000000000111100100000011110000000111000000010000110000111111110000000000000000000001001000000000001100000000000001000111001100011111111000000000000000000000001000000000000001000000000100011100100100011111111100000000000000000000010000000000000000000111100001111010000010001111111100000000000000000000010000000000000001100000001111110000000010001111111110000000000000000000010000000000000011110001111110000000000010001111111111000000000000000000100000000000000110000110000000000000000001001111111111000000000000000000100000000000001000000000000000000000000001001111111111100000000000000000100000000000000000000000000000000000000001001111111111100000000000000000100000000000000000000000000000000000000001001111111111110000000000000000100000000011110000000000000000000000000001001111111111110000000000000000010000000000000001100000000000000000000001001111111111110000000000000000001111111111111000000000000000000000000010010011111000111000000000000000111111111111111111101000000000000000000100001111111111001100000000000000110111011100000000000001111111111110000000111000111011011000000000000000000000000000000000000000000000000000000000000000000000000002" | |
3491 | if sprite_index=spr_dummybattle then return "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111011110000000000000000000000000000000000111111111110111110000000000000000000000000000111111111111111011111110000000000000000000000011111111111111111101111111000000000000000000000111111111111111111101111111100000000000000000000111111111111111111110111110000000000000000000000011111111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011100000000000000000000000000000000000000000111111110011111110000000000000000000000000000000111111100111111000000000000000000000000000000000111000000000000100000000000000000000000000000000111111111111111000000000000000000000000000000000100011101111000010000000000000000000000000000000111111110111111111100000000000000000000000000000111111111111111111111000000000000000000000000000111111111111111111111110000000000000000000000000011111111111111111111111000000000000000000000000000000111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000001111000000000000000000000000000000000000000000000111100000000000000000000000000000000000000111111111111111111100000000000000000000000000000000000000000000000000000000000002" | |
3492 | if sprite_index=spr_migosphurt then return "0000000000000000000000000000000000000000000000000000000000000000011100000000000000000111000000000000000000000000001111111000000000000001101111000000000000000000000011111000010000000000001100001111000000000000000000000000000000100000000000100000001100000000000000000000000000000001011111110100000000000000000000000000000000000000011000111110001000000000000000000000000000000000000111111111111111111000000000000000000000000000000000111111111111111111110000000000000000000000000000000110000000111100000001100000000000000000000000000000111000000000000000000111000000000000000000000000111011111111111111111111111100000000000000000000001110011111000000000000000111110011100000000000000000110001111011101111111011110111100011000000000000000011000111111111111111111111111110001100000000000000001111000000000011111110000000000111110000000000000000000001111100100111110010011111100000000000000000000000000111111111111111111111111110000000000000000000000000001110000000000000000011110000000000000000000000000000010000000000000000000010000000000000000000000000000000111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000000011000000000000000000000000000000000000011111100000001111110000000000000000000000000000001111111100000000011111111000000000000000000000000000000000000000000000000000000000000000000002" | |
3493 | if sprite_index=spr_vegetoidhurt then return "00000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000011100010010100001110000000000000000000000000000000111110100101010100111110000000000000000000000000000011110010010101010001111000000000000000000000000001000000010101010110100000000100000000000000000000000000000000010110110110000000000000000000000000000000000000000000001011000000000000000000000000000000000001111111110000000000011111111000000000000000000000011111111111111111111111111111111100000000000000000011111111111111111111111000111111111000000000000000011111111100001111111110000000111111100000000000000001111111100000001111111000000011111110000000000000000111111110000000111111100111111111111000000000000000001111111111110011111110011111111111000000000000000000011111111111001111111111111111111100000000000000000001111111111111111111111111111111100000000000000000000011110001111110011001111110011110000000000000000000000111100011111111110011100111110000000000000000000000001111000011111111111100111110000000000000000000000000011111000111111111100111110000000000000000000000000000111110001111111000111110000000000000000000000000000001111110000000000111100000000000000000000000000000000001111100000001111100000000000000000000000000000000000011111111111111100000000000000000000000000000000000000011111111111000000000000000000000000000000000000000000011111100000000000000000000000000000000000000000000000000000000000000000000000000002" | |
3494 | if sprite_index=spr_looxhurt then return "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000111000000000000000000000000001100000000000000000000000111100000000000000000000011100000000000000000000000001111000000000000000000111110000000000000000000000000111110000000000000000011111000000111111111111111000011111000000000000000001111110011111111111111111111111111100000000000000000111111111111110000000000111111111110000000000000000000111111100000000000000000001111110000000000000000000111111000000000000000000000001111000000000000000000011111000000000000000000000000011110000000000000000011110000000000011111100000000001111100000000000000011111000000001110000001100000000011111000000000000001111100000001100000000001000000001111110000000000000111110000000110001001000100000000111111000000000000111111000000011000100100010000000011111110000000000111111110000000110000000010000000011111111100000000111111111100000001111111110000000011111111111000000111110000111000000000000000000000011000000111110000111100000000010000000000000000000010000000000111100011100000000000011000000000000001100000000000001110001110000000000000000111111111100000000000000000111000111000000000000000000000000000000000000000000011110011111110000000000000000000000000000000000000111111000011101000000000000101000100110000000000000010011100001010000000000000000111011000000001000000000011000000000000000000100000000000000000000100000000000000000000000000000010000000000000000001100000000000000000000000000000011110000000000000001111110000000000000000000000001111111100000000000001111111100000000000000000000000000000000000000000000000000000000000000002" | |
3495 | if sprite_index=spr_froggit then return "00000000000011111110000000000000001111110000000000000000000011111111111000000000011111111111100000000000000001111000001111100000001111111111111100000000000000111000000000111110000111110000001111100000000000001110000000001111100011111000000001111000000000000011100000111111001111001111111000011110000000000000111111111111111111111111111111111111100000000001111111111111111111111111111111111111111000000001111111111111000000000110000000011111111111100000111111111000000111111000001111110000001111111100001111111111111111111111111111111111111111111111100000111111111111111111111111111111111111111111100000000001111111111111111111111111111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111000000000000000000000000011111111111000111111111111100000000000000000000000111111100010000110001111111100000000000000000000011111111111111111111111111111100000000000000000000111111111000000000001111111111000000000000000000001111110001110001110110011111110000000000000000000011111000100100001100100001111110000000000000000000111110001110000000111000011111110000000000000011111111100000001111000000000011111111100000000001111111110000000100001100000000011111111100000000000000000000000000000000000000000000000000000002" | |
3496 | if sprite_index=spr_moldsmal then return "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110000001010010100001100000000000000000000000000000000000111001001110000000000000000000000000000001000000001111000000011100000001100000000000000000111100000000000000000000000000011001000000000000001011100001100000000000000110000011010010000000000101000010011111100111011001110001000010101000000001010001011000001011001010110011111010000101100000010100010100000010100001010001010001101000010100000010100101001100010100001010001010000110101001010000001001101010000101001001010101010010010100000100000010001010000001010011001010100101001001010000110000010001010100001010000001010100010100001101000010000001010110100010010100010100000010100100101000110000000110100000010100100010100100010110000010111000000000000100000101100000010100100001010000001000000000000000010000101000000010100000001010000110000000000000000000000001000000010100000001000000000000000000000000000000000011111100011111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002" | |
3497 | if sprite_index=spr_whimsunhurt then return "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001001000000000000000010100000000000000000000000000011100010000000000000010001000000000000000000000000000000000100000111111001000110000000000000000000000000000000010111111111111000011000000000000000000000000000000001000001100001110000000000000000000000000000000000011000011111000001100000000000000000000000000000000011000111111110000110000000000000000000000000000000011101111101111110111100000000000000000000000000000001111111100011111111110000000000000000000000000001000111111000000011111111000000000000000000000000011100111111101001001111111100000000000000000000001100010011111111111111111111110011000000000000000111001110011111001111110011111110011010000000000001110111100011110000011110000111111001110100000000000000000001110011111111111111001111100011111000000000000000000001111111111111111111110001110011010000000000000000000111111111111111111111110000000000000000000000000000000000100001000011000110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000010000000000000000000000000000000000000000000010000001000000000000000000000000000000000000000001110000000111100000000000000000000000000000000000001100000000000011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002" | |
3498 | ||
3499 | #define murdererlv1 | |
3500 | if global.flag[202]>=monsterpopulation1 then return true | |
3501 | else return false |