forked from alesan99/mari0_ae
-
Notifications
You must be signed in to change notification settings - Fork 1
/
entity.lua
2255 lines (2176 loc) · 82.2 KB
/
entity.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
entity = class:new()
--KEY
--t: codename
--name: display name (spawner, tooltip)
--enemy: is it an enemy? (not spawned near checkpoints) (TODO)
--item: can be placed into ? blocks [item()]
--spawnable: can be spawned with spawner
--offset: can be offset
--input: can be linked (TODO)
--output: can output to linked entities (TODO)
entitylist = {
{t="remove"},
{t="mushroom", spawnable=true, block=true},
{t="oneup", spawnable=true, block=true},
{t="star", spawnable=true, block=true},
{t="manycoins", block=true},
{t="goomba", spawnable=true, offset=9, block=true, supersize=true},
{t="koopa", spawnable=true, offset=10, block=true, supersize=true},
{t="spawn"},
{t="goombahalf", supersize=true},
{t="koopahalf", supersize=true},
{t="flag"},
{t="koopared", spawnable=true, offset=13, block=true, supersize=true},
{t="kooparedhalf", supersize=true},
{t="vine", block=true},
{t="hammerbro", spawnable=true, block=true},
{t="cheepred", spawnable=true, supersize=true},
{t="cheepwhite", spawnable=true, supersize=true},
{t="platformup"}, --my mouse is dying :(
{t="platformright"},
{t="box", name="cube", spawnable=true},
{t="pipe"},
{t="lakito", name="lakitu", spawnable=true, supersize=true},
{t="mazestart"},
{t="mazeend"},
{t="mazegate"},
{t="emancehor"},
{t="emancever", name="emancipation grill"},
{t="doorver", name="test door"},
{t="doorhor"},
{t="wallindicator"},
{t="pipespawn"},
{t="platformfall", spawnable=true},
{t="bulletbillstart"},
{t="bulletbillend"},
{t="drain"},
{t="lightbridgeright", name="lightbridge"},
{t="lightbridgeleft"},
{t="lightbridgedown"},
{t="lightbridgeup"},
{t="button"},
{t="platformspawnerdown"},
{t="platformspawnerup"},
{t="groundlightver"},
{t="groundlighthor"},
{t="groundlightupright"},
{t="groundlightrightdown"},
{t="groundlightdownleft"},
{t="groundlightleftup"},
{t="faithplateup", name="faithplate"},
{t="faithplateright"},
{t="faithplateleft"},
{t="laserright", name="laser"},
{t="laserdown"},
{t="laserleft"},
{t="laserup"},
{t="laserdetectorright", name="laserdetector"},
{t="laserdetectordown"},
{t="laserdetectorleft"},
{t="laserdetectorup"},
{t="bulletbill", name="bullet bill launcher"},
{t="bluegeldown", name="gel dispenser"},
{t="bluegelright"},
{t="bluegelleft"},
{t="orangegeldown"},
{t="orangegelright"},
{t="orangegelleft"},
{t="boxtube", name="cube dispenser"},
{t="pushbuttonleft", name="pedestal button"},
{t="pushbuttonright"},
{t="plant", spawnable=true, supersize=true},
{t="whitegeldown"},
{t="whitegelright"},
{t="whitegelleft"},
{t="timer"},
{t="beetle", spawnable=true, offset=76, block=true, supersize=true},
{t="beetlehalf", supersize=true},
{t="kooparedflying", spawnable=true, supersize=true},
{t="koopaflying", spawnable=true, supersize=true},
{t="castlefireccw", name="firebar"},
{t="seesaw"},
{t="warppipe"},
{t="castlefirecw"},
{t="lakitoend"},
{t="notgate"},
{t="geltop", name="gel"},
{t="gelleft"},
{t="gelbottom"},
{t="gelright"},
{t="firestart"},
{t="bowser", spawnable=true, supersize=true},
{t="axe"},
{t="platformbonus"},
{t="spring"},
{t="squid", name="blooper", spawnable=true, supersize=true},
{t="flyingfishstart"},
{t="flyingfishend"},
{t="upfire", name="lava bubble", spawnable=true, block=true, supersize=true},
{t="spikey", name="spiny", spawnable=true, offset=99, block=true, supersize=true},
{t="spikeyhalf", supersize=true},
{t="checkpoint"},
{t="poisonmush", spawnable=true, block=true},
{t="downplant", spawnable=true, supersize=true},
{t="paragoomba", spawnable=true, block=true, supersize=true},
{t="bigbill", name="banzai bill launcher"},
{t="kingbill", spawnable=true},
{t="sidestepper", spawnable=true, block=true, supersize=true},
{t="barrel", spawnable=true, supersize=true},
{t="icicle", spawnable=true},
{t="angrysun", name="angry sun", spawnable=true},
{t="angrysunend", name="angry sun end"},
{t="splunkin", spawnable=true, offset=112, block=true, supersize=true},
{t="splunkinhalf", supersize=true},
{t="threeup", spawnable=true},
{t="biggoomba", name="big goomba", spawnable=true, supersize=true},
{t="bigspikey", name="big spiny", spawnable=true, supersize=true},
{t="bigkoopa", name="big koopa", spawnable=true, supersize=true},
{t="shell", spawnable=true, block=true, supersize=true},
{t="goombrat", spawnable=true, offset=119, block=true, supersize=true},
{t="goombrathalf"},
{t="firebro", spawnable=true, block=true},
{t="plusclock", spawnable=true, block=true},
{t="springgreen"},
{t="redplant", spawnable=true, supersize=true},
{t="reddownplant", spawnable=true, supersize=true},
{t="thwomp", spawnable=true, offset=224, supersize=true},
{t="fishbone", spawnable=true, supersize=true},
{t="drybones", spawnable=true, offset=128, block=true, supersize=true},
{t="dryboneshalf", supersize=true},
{t="muncher", spawnable=true, supersize=true, block=true},
{t="bigbeetle", name="big beetle",spawnable=true, supersize=true},
{t="meteorstart"},
{t="meteorend"},
{t="drygoomba", spawnable=true, offset=134, supersize=true},
{t="drygoombahalf", supersize=true},
{t="dryplant", spawnable=true, supersize=true},
{t="drydownplant", spawnable=true, supersize=true},
{t="donut"},
{t="boomerangbro", spawnable=true, block=true},
{t="parabeetle", spawnable=true, supersize=true},
{t="ninji", spawnable=true, block=true, supersize=true},
{t="hammersuit", spawnable=true, block=true},
{t="boo", spawnable=true, supersize=true},
{t="moleground", name="mole ground", spawnable=true, block=true},
{t="bigmole", name="big mole", spawnable=true, supersize=true},
{t="bomb", spawnable=true, offset=146, block=true, supersize=true},
{t="bombhalf", supersize=true},
{t="fireplant", spawnable=true, supersize=true},
{t="flipblock"},
{t="downfireplant", spawnable=true, supersize=true},
{t="torpedoted"},
{t="frogsuit", spawnable=true, block=true},
{t="parabeetleright", spawnable=true, supersize=true},
{t="boomboom", spawnable=true, supersize=true},
{t="levelball", spawnable=true, block=true},
{t="leaf", spawnable=true, block=true},
{t="koopablue", spawnable=true, offset=157, supersize=true},
{t="koopabluehalf", supersize=true},
{t="koopaflying2", name="koopaflying hor", spawnable=true, supersize=true},
{t="windstart"},
{t="windend"},
{t="pipe2"},
{t="pinksquid", name="pink blooper", spawnable=true, supersize=true},
{t="door"}, --not portal
{t="ice"},
{t="box2", name="companion cube", spawnable=true},
{t="energylauncherright", name="energy launcher"},
{t="energylauncherleft"},
{t="energylauncherup"},
{t="energylauncherdown"},
{t="energycatcherright", name="energy catcher"},
{t="energycatcherleft"},
{t="energycatcherup"},
{t="energycatcherdown"},
{t="turretleft"},
{t="turretright"},
{t="turret2left"},
{t="turret2right"},
{t="blocktogglebutton", name="! button"},
{t="buttonblockon", name="on block"},
{t="buttonblockoff", name="off block"},
{t="purplegeldown"},
{t="purplegelright"},
{t="purplegelleft"},
{t="sleepfish", spawnable=true, supersize=true},
{t="squarewave"},
{t="delayer"},
{t="coin", spawnable=true},
{t="amp", name="fuzzy", spawnable=true, supersize=true},
{t="parabeetlegreen", spawnable=true, supersize=true},
{t="parabeetlegreenright", spawnable=true, supersize=true},
{t="longfire", name="burner off"},
{t="cannonball"},
{t="minimushroom", spawnable=true, block=true},
{t="rocketturret"},
{t="glados"},
{t="pedestal"},
{t="portal1"},
{t="portal2"},
{t="text"},
{t="regiontrigger"},
{t="tiletool"},
{t="iceflower", spawnable=true, block=true},
{t="shyguy", spawnable=true, offset=204, block=true, supersize=true},
{t="shyguyhalf", supersize=true},
{t="enemytool", name="spawner", supersize=true},
{t="randomizer"},
{t="yoshi", spawnable=true, block=true, supersize=false},
{t="bigblocktogglebutton"},
{t="beetleshell", spawnable=true, supersize=true},
{t="musicchanger"},
{t="pbutton", name="p switch", spawnable=true, block=true},
{t="spiketop", spawnable=true, offset=213, supersize=true},
{t="spiketophalf", supersize=true},
{t="pokey", spawnable=true, supersize=true},
{t="snowpokey", spawnable=true, supersize=true},
{t="fighterfly", spawnable=true, block=true, supersize=true},
{t="swimwing", spawnable=true, block=true},
{t="dkhammer", spawnable=true, block=true},
{t="vinestop"},
{t="chainchomp", spawnable=true, supersize=false},
{t="bighammerbro", name="big hammerbro",spawnable=true},
{t="edgelessbox", name="edgeless cube", spawnable=true},
{t="rockywrench", spawnable=true, supersize=false},
{t="thwomphalf", supersize=true},
{t="watergeldown"},
{t="watergelright"},
{t="watergelleft"},
{t="rotodisc"},
{t="funneldown"},
{t="funnelup"},
{t="funnelright", name="funnel"},
{t="funnelleft"},
{t="pipespawndown"},
{t="thwimp", spawnable=true},
{t="drybeetle", spawnable=true, offset=236, block=true, supersize=true},
{t="drybeetlehalf", supersize=true},
{t="tinygoomba", spawnable=true, block=true},
{t="koopaling", spawnable=true, supersize=true},
{t="bigmushroom", spawnable=true, name="mega mushroom", block=true},
{t="bowser3", spawnable=true, supersize=true},
{t="icebro", spawnable=true, block=true},
{t="squidnanny", name="blooper nanny", spawnable=true, supersize=true},
{t="goombashoe", spawnable=true, supersize=false},
{t="wiggler", spawnable=true, supersize=true}, --wiggler wednesday
{t="magikoopa", spawnable=true, block=true, supersize=true},
{t="homingbullet"},
{t="boocircle", spawnable=true, supersize=true},
{t="pdoor"},
{t="keydoor"},
{t="key", spawnable=true, block=true},
{t="wigglerangry", spawnable=true, supersize=true},
{t="tanookisuit", spawnable=true, block=true},
{t="feather", spawnable=true, block=true},
{t="carrot", spawnable=true, block=true},
{t="weirdmushroom", spawnable=true, block=true},
{t="pipespawnhor"},
{t="ceilblocker"},
{t="donutlast"},
{t="skewer"},
{t="boocrawler", spawnable=true, supersize=true},
{t="downspikey", name="downspiny", spawnable=true, supersize=true},
{t="downbeetle", spawnable=true, supersize=true},
{t="spikeyshell", name="spinyshell", spawnable=true, block=true, supersize=true},
{t="bigcloud", name="big cloud", spawnable=true, block=true},
{t="longfireoff", name="burner on"},
{t="belt"},
{t="buttonbox", name="box button"},
{t="buttonedgeless", name="edgeless button"},
{t="luckystar", spawnable=true, block=true},
{t="animationtrigger"},
{t="animatedtiletrigger"},
{t="rsflipflop"},
{t="orgate"},
{t="andgate"},
{t="actionblock"},
{t="collectable"},
{t="collectablelock"},
{t="powblock", spawnable=true, block=true},
{t="switchblock"},
{t="iciclebig", spawnable=true},
{t="verspring", name="spring ver", spawnable=true, block=true},
{t="horspring", name="spring hor", spawnable=true, block=true},
{t="thwompleft", spawnable=true, supersize=true},
{t="thwompright", spawnable=true, supersize=true},
{t="risingwater"},
{t="superballflower", spawnable=true, block=true},
{t="beltswitch"},
{t="drybonesshell", spawnable=true, block=true, supersize=true},
{t="redseesaw"},
{t="snakeblock"},
{t="animationoutput"},
{t="pbuttonblockon"},
{t="pbuttonblockoff"},
{t="spike", spawnable=true, block=true, supersize=true},
{t="spikeball", spawnable=true, block=true, supersize=true},
{t="frozencoin", spawnable=true},
{t="powerup", block=true},
{t="cheepcheep", supersize=true},
{t="fireflower", spawnable=true, block=true},
{t="propellerbox"},
{t="cannonbox"},
{t="clearpipe"},
{t="cannonballcannon", spawnable=true, block=true, supersize=true},
{t="camerastop"},
{t="plantcreeper", name="piranha creeper"},
{t="track"},
{t="blueshell", spawnable=true, block=true},
{t="boomerangflower", spawnable=true, block=true}, --hehe, boomerr
{t="platform"},
{t="pneumatictube"},
{t="bigclassicmushroom", name="classic big mushroom", spawnable=true, block=true},
{t="checkpointflag"},
{t="supersize", argument="b", argumentname="supersize"},
{t="mole", name="mole", spawnable=true, block=true, supersize=true},
{t="grinder"},
{t="bowserjr", spawnable=true, supersize=true},
{t="trackswitch"},
}
--only spawnable with spawner or by enemies
hiddenentitylist = {
{t="spikeyfall", name="spiny egg"},
{t="bulletbillsingle", name="bulletbill"},
{t="bigbillsingle", name="banzaibill"},
{t="cannonballsingle", name = "cannonball"},
{t="hammer"},
{t="bowserfire"},
{t="flyingfish"},
{t="meteor"},
{t="brofireball"},
{t="broiceball"},
{t="broboomerang"},
{t="koopaling2", name="koopaling 2"},
{t="koopaling3", name="koopaling 3"},
{t="koopaling4", name="koopaling 4"},
{t="koopaling5", name="koopaling 5"},
{t="koopaling6", name="koopaling 6"},
{t="koopaling7", name="koopaling 7"},
{t="turretleft", name="turret"},
{t="turret2left", name="defective turret"},
{t="snowball"},
{t="moving spring", name="moving spring"},
{t="moving greenspring", name="moving greenspring"},
{t="gel1", name="gel blue"},
{t="gel2", name="gel orange"},
{t="gel3", name="gel white"},
{t="gel4", name="gel purple"},
{t="gelcleanse", name="gel cleanse"},
}
--sort spawnable entities into a neat table
function generatespawnableentitylist(extraentities)
local temptable = {}
for i, t in pairs(entitylist) do
if t.spawnable then
table.insert(temptable, {t.t, t.name or t.t})
end
end
if extraentities then
for i, t in pairs(extraentities) do
table.insert(temptable, {t.t, t.name or t.t})
end
end
table.sort(temptable, function(a, b) return a[2] < b[2] end)
local spawnableentities = {}
local spawnableentitiesnames = {}
for i, t in pairs(temptable) do
table.insert(spawnableentities, t[1])
table.insert(spawnableentitiesnames, t[2])
end
return spawnableentities, spawnableentitiesnames
end
tooltipimages = {}
tooltipquad = {}
tooltipquad[1] = love.graphics.newQuad(0,0,64,64,128,64)
tooltipquad[2] = love.graphics.newQuad(64,0,64,64,128,64)
for i = 1, #entitylist do
local path = "graphics/entitytooltips/" .. entitylist[i].t .. ".png"
if love.filesystem.getInfo(path) then
tooltipimages[i] = {}
tooltipimages[i].path = path
end
end
entitydescriptions = {
"place anywhere - acts as an entity eraser", --"remove",
"place on a wall - mushroom", --"mushroom",
"place on a wall - 1-up", --"oneup",
"place on a wall - star", --"star",
"place on a non question mark block - gives several coins", --"manycoins",
"place on empty tile - goomba", --"goomba",
"place on empty tile - koopa", --"koopa",
"place on empty tile - mario's starting point", --"spawn",
"place on empty tile - goomba - more to the right", --"goombahalf",
"place on empty tile - koopa - more to the right", --"koopahalf",
"place on a wall - bottom of the flag } end of level", --"flag",
"place on empty tile - red koopa - will turn around at an edge", --"koopared",
"place on empty tile - red koopa - more to the right", --"kooparedhalf",
"place on wall - vine - right click to choose destination", --"vine",
"place on empty tile - hammer bro", --"hammerbro",
"place on empty underwater tile - cheep cheep fish - red", --"cheepred",
"place on empty underwater tile - cheep cheep fish - white", --"cheepwhite",
"place on empty tile - oscillating platform - right click for width", --"platformup", --my mouse is dying :(
"place on empty tile - oscillating platform - right click for width", --"platformright",
"place on empty tile - weighted storage cube", --"box",
"place on pipe tile - pipe - right click for destination sublevel", --"pipe",
"place on empty tile - lakitu - you can also add a lakitu end tile", --"lakito",
"place on empty tile - logical maze start", --"mazestart",
"place on empty tile - logical maze end", --"mazeend",
"place on empty tile - maze gate - right click for the gate number", --"mazegate",
"place on empty tile - horizontal emancipate grill - stops portals and companion cubes", --"emancehor",
"place on empty tile - emancipation grill - stops portals and companion cubes", --"emancever",
"place on empty tile - test chamber door - use link tool", --"doorver",
"place on empty tile - horizontal door - use link tool", --"doorhor",
"place on a wall - use link tool to show on or off state", --"wallindicator",
"place on a pipe tile - right click for origin sublevel", --"pipespawn",
"place on empty tile - falling platforms - right click for width", --"platformfall",
"place anywhere - beginning of bullet zone", --"bulletbillstart",
"place anywhere - end of bullet zone", --"bulletbillend",
"place at the very bottom in an underwater level - drain - attracts mario down", --"drain",
"place on empty tile - light bridge", --"lightbridgeright",
"place on empty tile - light bridge to left", --"lightbridgeleft",
"place on empty tile - light bridge to down", --"lightbridgedown",
"place on empty tile - light bridge to up", --"lightbridgeup",
"place on empty tile - floor button - use link", --"button",
"place on top - platform spawner - right click for width", --"platformspawnerdown",
"place at the bottom - up platform spawner - right click for width", --"platformspawnerup",
"place on wall - use link to show on/off state", --"groundlightver",
"place on wall - use link to show on/off state", --"groundlighthor",
"place on wall - use link to show on/off state", --"groundlightupright",
"place on wall - use link to show on/off state", --"groundlightrightdown",
"place on wall - use link to show on/off state", --"groundlightdownleft",
"place on wall - use link to show on/off state", --"groundlightleftup",
"place on ground wall - faith plate", --"faithplateup",
"place on ground wall - faith plate to the right", --"faithplateright",
"place on ground wall - faith plate to the left", --"faithplateleft",
"place on empty tile - laser", --"laserright",
"place on empty tile - laser to bottom", --"laserdown",
"place on empty tile - laser to left", --"laserleft",
"place on empty tile - laser to up", --"laserup",
"place on right edge wall or empty tile - will send off signal if laser is detected - use link", --"laserdetectorright",
"place on down edge wall or empty tile - will send off signal if laser is detected - use link", --"laserdetectordown",
"place on left edge wall or empty tile - will send off signal if laser is detected - use link", --"laserdetectorleft",
"place on up edge wall or empty tile - will send off signal if laser is detected - use link", --"laserdetectorup",
"place on bulletbill launchers - will make the launcher actually launch bulletbills", --"bulletbill",
"place on empty tile - will produce gel to down - right click to pick gel", --"bluegeldown",
"place on empty tile - will produce blue gel to right - blue gel } jump", --"bluegelright",
"place on empty tile - will produce blue gel to left - blue gel } jump", --"bluegelleft",
"place on empty tile - will produce orange gel to down - orange gel } run", --"orangegeldown",
"place on empty tile - will produce orange gel to right - orange gel } run", --"orangegelright",
"place on empty tile - will produce orange gel to left - orange gel } run", --"orangegelleft",
"place on empty tile - will drop a box and remove previous one - use link", --"boxtube",
"place on empty tile - will send a single on signal when used - use link", --"pushbuttonleft",
"place on empty tile - will send a single on signal when used - use link", --"pushbuttonright",
"place on empty tile - piranha plant will go up and down", --"plant",
"place on empty tile - will produce white gel to down - white gel } portalable", --"whitegeldown",
"place on empty tile - will produce white gel to right - white gel } portalable", --"whitegelright",
"place on empty tile - will produce white gel to left - white gel } portalable", --"whitegelleft",
"place anywhere - will send on signal for a duration - right click to set duration", --"timer",
"place on empty tile - beetle - runs fast and resists fireballs", --"beetle",
"place on empty tile - beetle - more to the right", --"beetlehalf",
"place on empty tile - red flying koopa, goes up and down", --"kooparedflying",
"place on empty tile - green flying koopa, jumps around", --"koopaflying",
"place on wall - firebar - right click for direction and length", --"castlefireccw",
"place on empty tile - see-saw - right click for see-saw type", --"seesaw",
"place on wall - warp pipe - right click for destination world", --"warppipe",
"place on wall - clockwise rotating fire - right click for width", --"castlefirecw",
"place anywhere - defines a right border for lakitu - use with lakitu", --"lakitoend",
"place anywhere - turns an input around", --notgate
"place on tile - creates gel on this block. 1: blue, 2: orange, 3: white, 4:purple",
"place on tile - creates gel on this block. 1: blue, 2: orange, 3: white, 4:purple",
"place on tile - creates gel on this block. 1: blue, 2: orange, 3: white, 4:purple",
"place on tile - creates gel on this block. 1: blue, 2: orange, 3: white, 4:purple",
"place anywhere - fire start - bowser firethings will regularly cross the screen", --"firestart",
"place on empty tile preferably on the first block on a bridge with an axe - bowser", --"bowser",
"place on empty tile preferably behind a bridge - axe } end of level", --"axe",
"place on empty tile - platform in coin worlds", --"platformbonus",
"place on empty tile - spring", --"spring",
"place on empty tile preferably underwater - blooper", --"squid",
"place anywhere - defines the start of a flying cheep cheep zone", --"flyingfishstart",
"place anywhere - defines the end of a flying cheep cheep zone", --"flyingfishend",
"place anywhere - a lava bubble will jump up and down on this line", --"upfire",
"place on empty tile - spiny", --"spikey",
"place on empty tile - spiny - more to the right", --"spikeyhalf",
"place on empty tile - checkpoint - mario will spawn there if he dies after reaching it", --"checkpoint",
"place on a wall - poison mushroom", --"poisonmush",
"place on empty tile - upside down piranha plant", --"downplant",
"place on empty tile - paragoomba", --"paragoomba",
"place on bulletbill launchers - will make the launcher actually launch banzaibills", --"bigbill",
"place on empty tile - launches one giant king bill - right click for speed", --"kingbill",
"place on empty tile - side stepper", --"sidestepper",
"place on empty tile - barrel", --"barrel",
"place on empty tile - icicle - right click for gravity", --"icicle",
"place on empty tile - angry sun", --"angrysun",
"place anywhere - defines a right border for angry sun - use with an angry sun", --"angrysunend",
"place on empty tile - splunkin", --"splunkin",
"place on empty tile - splunkin - more to the right", --"splunkinhalf",
"place on a wall - 3-up moon", --"threeup",
"place on empty tile - giant goomba", --"biggoomba",
"place on empty tile - giant spiny", --"bigspikey",
"place on empty tile - giant koopa", --"bigkoopa",
"place on empty tile - koopa shell", --"shell",
"place on empty tile - goombrat", --"goombrat",
"place on empty tile - goombrat - more to the right", --"goombrathalf",
"place on empty tile - fire bro", --"firebro"
"place on a wall - clock", --"plusclock"
"place on empty tile - green spring", --"springgreen"
"place on empty tile - red piranha plant will go up and down fast", --"redplant",
"place on empty tile - upside down red piranha plant", --"reddownplant",
"place on empty tile - thwomp", --"thwomp",
"place on empty underwater tile - fishbones - resists fireballs", --"fishbone",
"place on empty tile - drybones - resists fireballs", --"drybones",
"place on empty tile - drybones - more to the right", --"dryboneshalf",
"place on empty tile - muncher", --"muncher",
"place on empty tile - giant beetle", --"bigbeetle",
"place anywhere - defines the start of a meteor zone", --"meteorstart",
"place anywhere - defines the end of a meteor zone", --"meteorend",
"place on empty tile - bone goomba - resists fireballs", --"drygoomba",
"place on empty tile - bone goomba - more to the right", --"drygoombahalf",
"place on empty tile - dry piranha plant - resists fireballs", --"dryplant",
"place on empty tile - upside down dry piranha plant", --"drydownplant",
"place on empty tile - donut platform - falls when stepped on", --"donut",
"place on empty tile - boomerang bro", --"boomerangbro",
"place anywhere - parabeetle - left", --"parabeetle",
"place on empty tile - ninji", --"ninji",
"place on a wall - hammer suit", --"hammersuit",
"place anywhere - boo", --"boo",
"place on empty tile - monty mole in ground", --"moleground",
"place on empty tile - mega mole", --"bigmole",
"place on empty tile - bob-omb", --"bomb",
"place on empty tile - bob-omb - more to the right", --"bombhalf",
"place on empty tile - venus firetrap - shoots fire", --"fireplant",
"place on empty tile - rotating block - rotates when hit", --"donut",
"place on empty tile - upside down venus firetrap", --"downfireplant",
"place on empty tile - hand launches torpedo teds", --"torpedoted",
"place on a wall - frog suit", --"frogsuit",
"place anywhere - parabeetle - right", --"parabeetleright",
"place on empty tile - boomboom", --"boomboom",
"place on empty tile - ? ball - end of level",
"place on a wall - raccoon leaf", --"leaf",
"place on empty tile - blue koopa - moves fast", --"koopablue",
"place on empty tile - blue koopa - more to the right", --"koopabluehalf",
"place on empty tile - flying koopa, goes right and left", --"koopaflying2",
"place anywhere - beginning of wind", --"windstart",
"place anywhere - end of wind", --"windend",
"place on pipe tile - pipe - right click for destination sublevel - enter left or up", --"pipe2?",
"place on empty tile - pink blooper - stompable", --"pinksquid",
"place on empty tile - door - right click for destination sublevel - press up to enter", --"door",
"place on a wall - ice - makes tile slippery", --"ice",
"place on empty tile - companion cube", --"box2",
"place on empty tile - high energy pellet launcher - right click for options", --"energylauncherright",
"place on empty tile - high energy pellet launcher - left", --"energylauncherleft",
"place on empty tile - high energy pellet launcher - up", --"energylauncherup",
"place on empty tile - high energy pellet launcher - down", --"energylauncherdown",
"place on empty tile - high energy pellet catcher - use link", --"energycatcherright",
"place on empty tile - high energy pellet catcher - left - use link", --"energycatcherleft",
"place on empty tile - high energy pellet catcher - up - use link", --"energycatcherup",
"place on empty tile - high energy pellet catcher - down - use link", --"energycatcherdown",
"place on empty tile - turret - left", --"turretleft",
"place on empty tile - turret - right", --"turretright",
"place on empty tile - defective turret - left", --"turret2left",
"place on empty tile - defective turret - right", --"turret2right",
"place on empty tile - ! button - push to toggle ! button blocks - right click for colors", --"blocktogglebutton",
"place on empty tile - ! button block - on - right click for colors", --"buttonblockon",
"place on empty tile - ! button block - off - right click for colors", --"buttonblockoff",
"place on empty tile - will produce purple gel to down - purple gel } gravity", --"purplegeldown",
"place on empty tile - will produce purple gel to right - purple gel } gravity", --"purplegelright",
"place on empty tile - will produce purple gel to left - purple gel } gravity", --"purplegelleft",
"place on empty underwater tile - rip van fish - wakes up when player is near", --"sleepfish",
"place anywhere - turns output on then off - right click to choose delay", --"squarewave",
"place anywhere - delays an input - right click to choose delay", --"delayer",
"place anywhere - coin", --"coin",
"place on a track - fuzzy", --"amp",
"place anywhere - green parabeetle - left - goes fast", --"parabeetlegreen",
"place anywhere - green parabeetle - right - goes fast", --"parabeetlegreenright",
"place on empty tile - burner - off - right click for direction", --"longfire",
"place on tile - cannon ball - right click to choose direction", --"cannonball",
"place on a wall - mini mushroom", --"minimushroom",
"place on empty tile - rocket turret - shoots rockets", --"rocketturret",
"place on empty tile - glados", --"GLaDOS",
"place on empty tile - portal gun pedestal - right click to choose portals", --"pedestal",
"place on a wall - portal 1 - right click to choose side - use link tool", --"portal1",
"place on a wall - portal 2 - right click to choose side - use link tool", --"portal2",
"place anywhere - text - right click to type text", --"text",
"place anywhere - region trigger - right click to select region", --"region trigger",
"place anywhere - tile tool - rightclick to type function", --"tiletool",
"place on a wall - ice flower", --"iceflower",
"place on empty tile - shy guy", --"shyguy",
"place on empty tile - shy guy - more to the right", --"shyguyhalf",
"place anywhere - spawner - rightclick to type enemy to spawn", --"enemytool",
"place anywhere - randomizer - turns on a random output - right click to choose method", --"randomizer",
"place on a wall - yoshi egg", --"yoshi",
"place on empty tile - big ! button - push to toggle ! button blocks - right click for colors",
"place on empty tile - beetle shell", --"beetleshell",
"place anywhere - music changer - changes music - right click to select music", --"musicchanger",
"place anywhere - p switch", --"pbutton",
"place on empty tile - spike top - walks along walls", --"spiketop",
"place on empty tile - spike top half - walks along walls", --"spiketophalf",
"place on empty tile - pokey - right click for height", --"pokey",
"place on empty tile - snow pokey - stompable - right click for height", --"snowpokey",
"place on empty tile - fighter fly", --"fighterfly",
"place on a wall - wing - allows player to fly", --"swimwing",
"place on a wall - dk hammer", --"dkhammer",
"place anywhere - vine stop", --"vinestop",
"place anywhere - chainchomp", --"chainchomp",
"place on empty tile - sledge bro", --"bighammerbro",
"place on empty tile - edgeless safety cube", --"edgelessbox",
"place on empty tile - rocky wrench", --"rockywrench",
"place on empty tile - thwomp - more to the right", --"thwomp",
"place on empty tile - will produce cleansing gel to down - removes gel", --"watergeldown",
"place on empty tile - will produce cleansing gel to right - removes gel", --"watergelright",
"place on empty tile - will produce cleansing gel to left - removes gel", --"watergelleft",
"place anywhere - roto-disc - rightclick to change number and direction", --"rotodisc",
"place on empty tile - excursion funnel up - use link tool", --"funnelup",
"place on empty tile - excursion funnel down - use link tool", --"funneldown",
"place on empty tile - excursion funnel - right click for options", --"funnelright",
"place on empty tile - excursion funnel left - use link tool", --"funnelleft",
"place on a pipe tile - right click for origin sublevel - down", --"pipespawndown",
"place on empty tile - thwimp", --"thwimp",
"place on empty tile - bony beetle - resists fireballs and has spikes", --"drybeetle",
"place on empty tile - bony beetle - more to theee right", --"drybeetlehalf",
"place on empty tile - tiny goomba", --"tinygoomba",
"place on empty tile - koopaling - right click to change koopaling", --"koopaling",
"place on a wall - mega mushroom", --"bigmushroom",
"place on empty tile - super mario bros 3 bowser", --"bowser3",
"place on empty tile - ice bro", --"icebro",
"place on anywhere - blooper nanny", --"squidnanny",
"place on empty tile - goombashoe - rightclick to change sprite", --"goombashoe",
"place on empty tile - wiggler", --"wiggler",
"place on empty tile - magikoopa", --"magikoopa",
"place on a wall - homing bullet", --"homingbullet",
"place on empty tile - boo circle", --"boocircle",
"place on empty tile - p button door - right click for destination sublevel - use p button", --"pdoor",
"place on empty tile - key door - right click for destination sublevel - use key", --"keydoor",
"place anywhere - key - use for key door", --"key",
"place on empty tile - angry wiggler", --"wigglerangry",
"place on a wall - tanooki suit", --"tanookisuit",
"place on a wall - feather", --"feather",
"place on a wall - carrot", --"carrot",
"place on a wall - weird mushroom", --"weirdmushroom",
"place on a pipe tile - right click for origin sublevel - left or right", --"pipespawnhor",
"place anywhere - makes it impossible to jump over the top row of blocks", --"ceilblocker",
"place on empty tile - donut platform - falls when stood on for a while", --"donutlast",
"place anywhere - skewer - right click for directions", --"skewer",
"place above tile - stretch", --"boocrawler",
"place on empty tile - upside down spiny", --"downspikey",
"place on empty tile - upside down beetle", --"downbeetle",
"place anywhere - spiny shell", --"spikeyshell",
"place anywhere - big cloud - ride", --"bigcloud",
"place on empty tile - burner - on - right click for direction", --"longfireoff",
"place on empty tile - conveyor belt - right click to choose direction and speed", --"belt",
"place on empty tile - cube floor button - use link", --"buttonbox",
"place on empty tile - edgeless cube floor button - use link", --"buttonedgeless",
"place on a wall - lucky star - kills all enemies", --"luckystar",
"place anywhere - will start an animation when getting an input signal", -- "animationtrigger",
"place anywhere - will animate tiles with the trigger attribute", --"animatedtiletrigger",
"place anywhere - can be toggled on and off", --"rsflipflop",
"place anywhere - or gate", --"orgate",
"place anywhere - and gate", --"andgate",
"place on empty tile - will create a coinblock style toggle button - use link tool", -- "actionblock",
"place anywhere - collectable - right click to choose type", --"collectable",
"place anywhere - collectable lock - sets output when collectables are collected", --"collectablelock",
"place on empty tile - pow block", --"powblock",
"place on empty tile - switch block - push to toggle ! button blocks - right click for colors", -- "switchblock",
"place on empty tile - big icicle", --"iciclebig"
"place on empty tile - vertical spring", --"verspring",
"place on empty tile - horizontal spring", --"horspring",
"place on empty tile - left thwomp", --"thwompleft",
"place on empty tile - right thwomp", --"thwompright",
"place anywhere - water - right click to adjust", --"risingwater",
"place on a wall - super ball flower", --"superballflower",
"place on empty tile - ! conveyor belt - right click to choose direction and speed", --"beltswitch",
"place anywhere - dry bones shell", --"drybonesshell",
"place on empty tile - red seesaw - right click for width", --"redseesaw",
"place on empty tile - snake block - right click for path", --"snakeblock",
"place anywhere - will output signal when triggered by an animation", -- "animationoutput",
"place on empty tile - p block - on", --"pbuttonblockon",
"place on empty tile - p block - off", --"pbuttonblockoff",
"place on empty tile - spike - right click for types", --"spike",
"place on empty tile - spike ball - right click for types", --"spikeball",
"place on empty tile - frozen coin", --"frozencoin",
"place on block - will give either a mushroom or a flower", --"powerup",
"place on empty tile - red or white cheep cheep", --"cheepcheep",
"place anywhere - fire flower", --"fireflower",
"place on empty tile - propeller box", --"propellerbox",
"place on empty tile - cannon box", --"cannonbox",
"place on empty tile - clear pipe - right click to set path", --"clearpipe",
"place on empty tile - cannon ball cannon - right click for direction", --"cannonballcannon",
"place anywhere - camera stop - link to disable", --"camerastop",
"place on empty tile - piranha creeper - right click for path", --"plantcreeper"
"place anywhere - track - right click for path", --"track",
"place on a wall - blue shell", --"blueshell",
"place on a wall - boomerang flower", --"boomerangflower",
"place on empty tile - oscillating platform - right click for width", -- "platform",
"place on empty tile - pneumatic diversity vent - right click to set path", --"pneumatictube",
"place on a wall - classic big mushroom", --"bigclassicmushroom",
"place on empty tile - checkpoint flag", --"checkpointflag",
"place on enemy - will make enemy super-sized", --"supersize",
"place on empty tile - monty mole", --"mole",
"place anywhere - grinder", --"grinder",
"place on empty tile - bowser jr.", --"bowserjr",
"place anywhere - track switch - right click for path", --"trackswitch",
}
rightclickvalues = {}
--rightclickvalues["vine"] = {"target", 0, 1, 2, 3, 4, 5, 6}
rightclickvalues["mazegate"] = {"gateno", 1, 2, 3, 4, 5}
rightclickvalues["icicle"] = {"gravity", 10, 13, 15, 8, 5}
rightclickvalues["blocktogglebutton"] = {"color", 1, 2, 3, 4}
rightclickvalues["buttonblockon"] = {"color", 1, 2, 3, 4}
rightclickvalues["buttonblockoff"] = {"color", 1, 2, 3, 4}
rightclickvalues["bigblocktogglebutton"] = {"color", 1, 2, 3, 4}
rightclickvalues["switchblock"] = {"color", 1, 2, 3, 4}
rightclickvalues["pedestal"] = {"portals", "both", "1 only", "2 only", "gel"}
rightclickvalues["pokey"] = {"height", "default", 1, 2, 3, 4, 5, 6, 7, 8}
rightclickvalues["snowpokey"] = {"height", "default", 1, 2, 3, 4, 5, 6, 7, 8}
rightclickvalues["goombashoe"] = {"type", 1, 2}
rightclickvalues["yoshi"] = {"color", 1, 2, 3, 4}
rightclickvalues["spike"] = {"type", "spike", "snow"}
rightclickvalues["spikeball"] = {"type", "spike", "snow"}
rightclickvalues["grinder"] = {"type", "grinder", "bumper"}
rightclicktype = {}
rightclicktype["text"] = {
name = "text",
default = "text|white|false|false|false|false",
objfunc = function()
rightclickobjects[4].coloredtext = true
end,
format = {
"text",
{"input", 1, "text", 14, 50, 1, function(v) rightclickvalues2[1] = v end}, --"input", var, default, width, maxlen, height, function
"color",
{"dropdown", 2, 6, nil, deepcopy(textcolorsnames)},
{"checkbox", 3, "outline", default = false},
{"checkbox", 5, "centered", default = false},
{"checkbox", 6, "big", default = false},
{"checkbox", 4, "default off", default = false},
{"button", 2, {"link power", startrclink}, {"x", resetrclink, textcolor = {255, 0, 0}}} --"input", var, text, function
}
}
rightclicktype["regiontrigger"] = {
name = "region trigger",
default = "1|1|0|0|player",
regionfunc = function(w,h,x,y) --setting region vars
rightclickvalues2[1] = w
rightclickvalues2[2] = h
rightclickvalues2[3] = x
rightclickvalues2[4] = y
end,
varfunc = function(v, i)
if i == 1 then
if not rightclickvalues2[5] then
rightclickvalues2[5] = "player"
end
end
return v
end,
format = {
"trigger on",
{"dropdown", 5, 10, nil, {"player","enemy","cube","everything"}},
{"button", 2, {"select region", startrcregion, {1, 2}}}
},
}
rightclicktype["pipe"] = {
name = "pipe",
default = "0|1|down|big",
objfunc = function()
rightclickobjects[7].entries = sublevelstable
end,
format = {
"direction",
{"dirbuttonset", 3},
"target sub",
{"dropdown", 1, 4, nil, maxsublevelstable},
"exit id:",
{"dropdown", 2, 4, nil, {1,2,3,4,5,6,7,8,9,10}},
"pipe size:",
{"dropdown", 4, 5, nil, {"big","small","tiny","giant"}},
{"button", 2, {"link exit", startrclink, {"exit", "exit"}}, {"x", resetrclink, {"exit"}, textcolor = {255, 0, 0}}},
},
customoutputs = {"pipe", "pipe2", "pipespawn", "pipespawndown", "pipespawnhor"}
}
rightclicktype["pipe2"] = deepcopy(rightclicktype["pipe"])
rightclicktype["pipespawn"] = {
name = "pipespawn",
default = "0|1|up|big",
objfunc = function()
rightclickobjects[7].entries = sublevelstable
end,
format = {
"direction",
{"dirbuttonset", 3},
"entry sub",
{"dropdown", 1, 4, nil, maxsublevelstable},
"id:",
{"dropdown", 2, 4, nil, {1,2,3,4,5,6,7,8,9,10}},
"pipe size:",
{"dropdown", 4, 5, nil, {"big","small","tiny","giant"}},
},
}
rightclicktype["pipespawndown"] = deepcopy(rightclicktype["pipespawn"])
rightclicktype["pipespawnhor"] = deepcopy(rightclicktype["pipespawn"])
rightclicktype["warppipe"] = {
name = "warp pipe",
default = "1|1|down|big",
varfunc = function(v, i)
local n = tonumber(v)
if i == 1 then
if n and hudworldletter and n > 9 and n <= 9+#alphabet then return alphabet:sub(n-9, n-9) end
elseif i == 2 then --find level. If there isn't one, return 1
if n then return n end return 1
end return v
end,
savefunc = function()
local v = rightclickvalues2[1]
if tonumber(v) then
rightclickvalues2[1] = math.min(maxworlds, tonumber(v))
else --if letter inputed turn into number.
local f1 = alphabet:find(tostring(v))
if f1 then
v = 9+f1
rightclickvalues2[1] = math.min(maxworlds, v)
end
end
end,
format = {
"direction",
{"dirbuttonset", 3},
"world",
{"input", 1, "1", 3, 2, 1,
function(v)
if tonumber(v) then
rightclickvalues2[1] = math.min(maxworlds, tonumber(v))
else
--if letter inputed turn into number.
local f1 = alphabet:find(tostring(v))
if f1 then
v = 9+f1
rightclickvalues2[1] = math.min(maxworlds, v)
end
end
end},
"level",
{"input", 2, "2", 3, 2, 1,
function(v)
if tonumber(v) then
rightclickvalues2[2] = math.min(maxlevels, tonumber(v))
end
end},
"pipe size:",
{"dropdown", 4, 5, nil, {"big","small","tiny","giant"}},
}
}
rightclicktype["vine"] = {
name = "vine",
default = "0",
objfunc = function()
rightclickobjects[2].entries = sublevelstable
end,
format = {
"target",
{"dropdown", 1, 4, nil, maxsublevelstable},
},
}
--rightclickvalues["platformfall"] = {"width", 1.5, 2, 3, 5}
rightclicktype["platformfall"] = {
name = "plarform fall",
default = "1.5",
format = {
"width:",
{"slider", 1, range = {1, 10, step = 0.5}},
}
}
rightclicktype["platformbonus"] = {
name = "plarform bonus",
default = "3",
format = {
"width:",
{"slider", 1, range = {1, 10, step = 0.5}},
}
}
rightclicktype["platformup"] = {
name = "plarformup",
default = "1.5|0|8.625|6.4|false",
varfunc = function(v, i)
if i == 1 then
if not rightclickvalues2[2] then
if map[rightclickmenucox][rightclickmenucoy][2] and entitylist[map[rightclickmenucox][rightclickmenucoy][2]].t == "platformup" then
rightclickvalues2[2] = "0"
rightclickvalues2[3] = "8.625"
rightclickvalues2[4] = "6.4"
else
rightclickvalues2[2] = "n3.3125"
rightclickvalues2[3] = "0"
rightclickvalues2[4] = "4"
end
end
end
return v
end,
format = {
"width:",
{"slider", 1, range = {1, 10, step = 0.5}},
"distance x:",
{"slider", 2, range = {-15, 15, round = 1}},
"distance y:",
{"slider", 3, range = {-15, 15, round = 1}},
"duration:",
{"slider", 4, range = {1, 20, round = 2}},
{"button", 2, {"link power", startrclink}, {"x", resetrclink, textcolor = {255, 0, 0}}},
}
}
rightclicktype["platformright"] = deepcopy(rightclicktype["platformup"])
rightclicktype["platformright"].default = "1.5|n3.3125|0|4"
rightclicktype["platform"] = deepcopy(rightclicktype["platformup"])
rightclicktype["platform"].default = "1.5|n3.3125|0|4"
rightclicktype["platform"].name = "platform"
rightclicktype["platformspawnerup"] = {
name = "plarformspawnerup",
default = "3|3.5|2.18|up",
varfunc = function(v, i)
if i == 1 then
if not rightclickvalues2[2] then
rightclickvalues2[2] = "3.5"
rightclickvalues2[3] = "2.18"
end
end
return v
end,
format = {
"direction",
{"verdirbuttonset", 4},
"width:",
{"slider", 1, range = {1, 10, step = 0.5}},
"speed:",
{"slider", 2, range = {0.5, 10, round = 2}},
"delay:",
{"slider", 3, range = {1, 10, round = 2}},
}
}
rightclicktype["platformspawnerdown"] = deepcopy(rightclicktype["platformspawnerup"])
rightclicktype["platformspawnerdown"].default = "3|3.5|2.18|down"
rightclicktype["cannonball"] = {
name = "cannon ball",
default = "left|7",
format = {
"direction",
{"anglebuttonset", 1},
"speed",
{"slider", 2, range = {3.5, 14, round = 2}},
},
}
rightclicktype["cannonballcannon"] = {
name = "cannon ball",
default = "left|7|down",
format = {
"direction",
{"anglebuttonset", 1},
"base",
{"dirbuttonset", 3},
"speed",
{"slider", 2, range = {3.5, 14, round = 2}},
},
}