313 {
316 "Pause the current flow of events until the set time is reached. Synchronous timers count down when they are reached in the code.",
317 new string[] {"Frames"},
318 new string[] {"The number of frames to wait."},
319 "\\name(): frames=\\value(0)",
320 new long[] {1}));
322 "No action.",
323 new string[] { },
324 new string[] { },
325 "",
326 new long[] { }));
328 "Pause the current flow of events until the set time is reached. Asynchronous Timers start counting from the beginning of the animation.",
329 new string[] {"Frames"},
330 new string[] {"The number of frames to wait."},
331 "\\name(): frames=\\value(0)",
332 new long[] {1}));
334 "Set a loop for X iterations.",
335 new string[] {"Iterations"},
336 new string[] {"The number of times to loop."},
337 "\\name() \\if(\\unhex(\\value(0)),==,-1, Infinite, \\unhex(\\value(0)) Times)",
338 new long[] {0}));
340 "Execute the the previously set loop.",
341 new string[] { },
342 new string[] { },
343 "",
344 new long[] { }));
346 "Enter the event routine specified and return after ending.",
347 new string[] {"Offset"},
348 new string[] {"The offset inside the file to jump to."},
349 "\\name() \\value(0)",
350 new long[] {2}));
352 "Return from a Subroutine.",
353 new string[] { },
354 new string[] { },
355 "",
356 new long[] { }));
358 "Goto the event location specified and execute.",
359 new string[] {"Offset"},
360 new string[] {"The offset inside the file to jump to."},
361 "\\name() \\value(0)",
362 new long[] {2}));
364 "Start an If block until an Else Or an EndIf is reached.",
365 new string[] {"Requirement"},
366 new string[] {"The form of requirement used in evaluation of the if statement."},
367 "\\name() \\value(0):",
368 new long[] {6}));
370 "Start an If block until an Else Or an EndIf is reached.",
371 new string[] {"Requirement", "Variable"},
372 new string[]
373 {
374 "The form of requirement used in evaluation of the event.",
375 "The variable applied to the requirement."
376 },
377 "If \\value(0): \\value(1)",
378 new long[] {6, 0}));
380 "Start an If block until an Else Or an EndIf is reached.",
381 new string[] {"Requirement", "Variable", "Comparison Method", "Variable"},
382 new string[]
383 {
384 "The form of requirement used in evaluation of the event.",
385 "The first variable in the comparison requirement.",
386 "The method used to compare the two variables. From 0 to 5: <, ≤, =, ≠, ≥, >",
387 "The second variable in the comparison requirement."
388 },
389 "If \\value(0): \\value(1) \\cmpsign(\\value(2)) \\value(3)",
390 new long[] {6, 5, 0, 5}));
392 "Insert an Else block inside an If block.",
393 new string[] { },
394 new string[] { },
395 "",
396 new long[] { }));
398 "Seems to be an \"And\" to an If statement.",
399 new string[] {"Requirement", "Variable", "Comparison Method", "Variable"},
400 new string[]
401 {
402 "The form of requirement used in evaluation of the event.",
403 "The first variable in the comparison requirement.",
404 "The method used to compare the two variables. From 0 to 5: <, ≤, =, ≠, ≥, > ",
405 "The second variable in the comparison requirement."
406 },
407 "And \\value(0): \\value(1) \\cmpsign(\\value(2)) \\value(3)",
408 new long[] {6, 5, 0, 5}));
410 "Insert an Else If block inside of an If block.",
411 new string[] {"Requirement", "Variable", "Comparison Method", "Variable"},
412 new string[]
413 {
414 "The form of requirement used in evaluation of the event.",
415 "The first variable in the comparison requirement.",
416 "The method used to compare the two variables. From 0 to 5: <, ≤, =, ≠, ≥, > ",
417 "The second variable in the comparison requirement."
418 },
419 "Else If \\value(0): \\value(1) \\cmpsign(\\value(2)) \\value(3)",
420 new long[] {6, 5, 0, 5}));
422 "End an If block.",
423 new string[] { },
424 new string[] { },
425 "",
426 new long[] { }));
428 "Begin a multiple case Switch block.",
429 new string[] {"Undefined", "Undefined"},
430 new string[]
431 {
432 "Any type? Has shown to be an IC-Basic \"disguised\" as a value. For example, set as Value 0x3E9 but really uses IC-Basic[1001] (the equivalent).",
433 "Any Type? Has shown to be a Requirement \"disguised\" as a value. For example, set as Value 2B but really uses 2B (Roll A Die)."
434 },
435 "\\name() (\\unhex(\\value(0)), \\value(1))",
436 new long[] {0, 0}));
438 "Handler for if the variable in the switch statement equals the specified value.",
439 new string[] {"Value"},
440 new string[] {"The value applied to the argument."},
441 "\\name() \\unhex(\\value(0)):",
442 new long[] {0}));
444 "The case chosen if none of the others are executed.",
445 new string[] { },
446 new string[] { },
447 "\\name():",
448 new long[] { }));
450 "End a Switch block.",
451 new string[] { },
452 new string[] { },
453 "",
454 new long[] { }));
456 "Briefly return execution back to the system to prevent crashes during infinite loops.",
457 new string[] { },
458 new string[] { },
459 "",
460 new long[] { }));
462 "Change the current action upon the specified requirement being met (the requirement does not have to be met at the time this ID is executed - it can be used anytime after execution.)",
463 new string[] {"Status ID", "Action", "Requirement"},
464 new string[]
465 {
466 "The four-digit status ID of the change action event. Can later be disabled via 02080100 (Disable Action Status ID).",
467 "The ID of the action that the character will execute.",
468 "The form of requirement used in evaluation of the event."
469 },
470 "Prioritized Change Action: priority=\\value(0), action=\\unhex(\\value(1)), requirement=\\value(2)",
471 new long[] {0, 0, 6}));
473 "Change the current action upon the specified requirement being met. (the requirement does not have to be met at the time this ID is executed - it can be used anytime after execution.)",
474 new string[] {"Action", "Requirement"},
475 new string[]
476 {
477 "The id of the action that the character will execute.",
478 "The form of requirement used in evaluation of the event."
479 },
480 "\\name() action=\\unhex(\\value(0)), requirement=\\value(1)",
481 new long[] {0, 6}));
483 "Change the current action upon the specified requirement being met. (the requirement does not have to be met at the time this ID is executed - it can be used anytime after execution.)",
484 new string[] {"Action", "Requirement", "Variable"},
485 new string[]
486 {
487 "The id of the action that the character will execute.",
488 "The form of requirement used in evaluation of the event.",
489 "The variable applied to the requirement."
490 },
491 "\\name() action=\\unhex(\\value(0)), requirement=\\value(1): \\value(2)",
492 new long[] {0, 6, 5}));
494 "Change the current action upon the specified requirement being met. (the requirement does not have to be met at the time this ID is executed - it can be used anytime after execution.)",
495 new string[] {"Action", "Requirement", "Variable", "Comparison Method", "Variable"},
496 new string[]
497 {
498 "The id of the action that the character will execute.",
499 "The form of requirement used in evaluation of the event.",
500 "The first variable in the comparison requirement.",
501 "The method used to compare the two variables. From 0 to 5: <, ≤, =, ≠, ≥, > ",
502 "The second variable in the comparison requirement."
503 },
504 "\\name() action=\\unhex(\\value(0)), requirement=\\value(1): \\value(2) \\cmpsign(\\value(3)) \\value(4)",
505 new long[] {0, 6, 5, 0, 5}));
507 "Add an additional requirement to the preceeding Change Action statement.",
508 new string[] {"Requirement"},
509 new string[] {"The form of requirement used in evaluation of the event."},
510 "\\name() \\value(0)",
511 new long[] {6}));
513 "Additional Change Action Requirement Value",
514 "Add an additional requirement to the preceeding Change Action statement.",
515 new string[] {"Requirement", "Variable"},
516 new string[]
517 {
518 "The form of requirement used in evaluation of the event.",
519 "The variable applied to the requirement."
520 },
521 "\\name() \\value(0): \\value(1)",
522 new long[] {6, 5}));
524 "Additional Change Action Requirement Comparison",
525 "Add an additional requirement to the preceeding Change Action statement.",
526 new string[] {"Requirement", "Variable", "Comparison Method", "Variable"},
527 new string[]
528 {
529 "The form of requirement used in evaluation of the event.",
530 "The first variable in the comparison requirement.",
531 "The method used to compare the two variables. From 0 to 5: <, ≤, =, ≠, ≥, > ",
532 "The second variable in the comparison requirement."
533 },
534 "\\name() \\value(0): \\value(1) \\cmpsign(\\value(2)) \\value(3)",
535 new long[] {6, 5, 0, 5}));
537 "Enables the given Status ID.",
538 new string[] {"Status ID"},
539 new string[] {"The Status ID to enable."},
540 "\\name(): \\unhex(\\value(0))",
541 new long[] {0}));
543 "Change the current subaction.",
544 new string[] {"Subaction"},
545 new string[] {"The ID of the subaction that the character will execute."},
546 "\\name(): sub action=\\value(0)",
547 new long[] {0}));
549 "Change the current subaction. Specifies whether or not to pass the current frame or start the animation over.",
550 new string[] {"Subaction", "Pass Frame"},
551 new string[]
552 {
553 "The ID of the subaction that the character will execute.",
554 "Whether to pass the current frame of the current animation onto the new animation or not."
555 },
556 "\\name(): sub action=\\value(0), pass frame=\\value(1)",
557 new long[] {0, 3}));
559 "Reverse the direction the character is facing after the animation ends.",
560 new string[] { },
561 new string[] { },
562 "",
563 new long[] { }));
565 "Generate an offensive collision bubble with the specified parameters.",
566 new string[]
567 {
568 "Bone/Id", "Damage", "Trajectory", "Weight Knockback/Knockback Growth",
569 "Shield Damage/Base Knockback", "Size", "X Offset", "Y Offset", "Z Offset", "Tripping Rate",
570 "Hitlag Multiplier", "Directional Influence Multiplier", "Flags"
571 },
572 new string[]
573 {
574 "Value1 = The bone the collision bubble is attached to. Value2 = The id number of the collision bubble.",
575 "The amount of damage inflicted to the target upon collision. ",
576 "The direction in which a target gets launched.",
577 "Value1 = The distance the target is launched proportional to weight for fixed knockback hits. Value2 = The additional distance the target is launched proportional to its damage (launch force for fixed knockback hits).",
578 "Value1 = The amount of damage dealt to the target's shield if it is up. Value2 = The distance the target is launched regardless of its damage (zero for fixed knockback hits).",
579 "The size of the collision bubble.",
580 "The amount the collision bubble is transitioned relative to the currently attached bone.",
581 "The amount the collision bubble is transitioned relative to the currently attached bone.",
582 "The amount the collision bubble is transitioned relative to the currently attached bone.",
583 "The percent possibility of the collision bubble inducing a trip, provided the target doesn't leave the ground from the knockback.",
584 "A multiplier affecting the time in which both parties pause when the collision bubble connects.",
585 "A multiplier affecting the ability for the character to maneuver themselves while suffering from the hitlag generated by this collision bubble.",
586 "Flags for various parameters such as hit effects and sound effects."
587 },
588 "\\name(): Id=\\unhex(\\half2(\\value(0))), Bone=\\bone(\\half1(\\value(0))), Damage=\\unhex(\\value(1)), ShieldDamage=\\unhex(\\half1(\\value(4))), Direction=\\unhex(\\value(2)), BaseKnockback=\\unhex(\\half2(\\value(4))), WeightKnockback=\\unhex(\\half1(\\value(3))), KnockbackGrowth=\\unhex(\\half2(\\value(3))), Size=\\value(5), Z Offset=\\value(6), Y Offset=\\value(7), X Offset=\\value(8), TripRate=\\value(9)%, HitlagMultiplier=x\\value(10), SDIMultiplier=x\\value(11), Flags=\\hex8(\\unhex(\\value(12)))",
589 new long[] {0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0}));
591 "Remove all currently present collision bubbles",
592 new string[] { },
593 new string[] { },
594 "",
595 new long[] { }));
597 "Change how the character's own collision bubbles act.",
598 new string[] {"State"},
599 new string[]
600 {
601 "0 = normal, 1 = invincible, 2 = intangible, 3 = intangible (no flashing), 4 = intangible (quick flashing)"
602 },
603 "\\name(): status=\\collision(\\value(0))",
604 new long[] {0}));
606 "Sets specific bones to a type of body collision.",
607 new string[] {"Bone", "State"},
608 new string[]
609 {
610 "The bone to be affected.",
611 "The type of body collision. 0 = normal, 1 = invincible, 2 = intangible, 3 = intangible (no flashing), 4 = intangible (quick flashing)"
612 },
613 "\\name(): bone=\\bone(\\value(0)), status=\\collision(\\value(1))",
614 new long[] { }));
616 "Sets bones to their normal collision type.",
617 new string[] { },
618 new string[] { },
619 "",
620 new long[] { }));
622 "Generate a grabbing collision bubble with the specified parameters",
623 new string[] {"ID", "Bone", "Scale", "X offset", "Y Offset", "Z Offset", "Action", "Air/Ground"},
624 new string[]
625 {
626 "ID of catch collision.", "The bone the grab is attached to.",
627 "The size of the catch collision bubble.", "Transition relative to the currently attached bone.",
628 "Transition relative to the currently attached bone.",
629 "Transition relative to the currently attached bone.",
630 "The Action ID that the foe executes if successfully grabbed.",
631 "0 = grabs nothing, 1 = grabs grounded only, 2 = grabs aerial only, 3 = grabs aerial and grounded."
632 },
633 "\\name(): ID=\\value(0), Bone=\\bone(\\value(1)), Scale=\\value(2), Offset=(\\value(3), \\value(4), \\value(5)), Action=\\unhex(\\value(6)), Type=\\value(7)",
634 new long[] {0, 0, 1, 1, 1, 1, 0, 0}));
636 "Remove all currently present grab collision bubbles",
637 new string[] { },
638 new string[] { },
639 "",
640 new long[] { }));
642 "Specify the properties of the throw to be used when 060F0500 is executed. Used for other things as well, such as some Final Smashes.",
643 new string[]
644 {
645 "ID", "Bone?", "Damage", "Trajectory", "Knockback Growth", "Weight Knockback", "Base Knockback",
646 "Effect", "Undefined", "Undefined", "Undefined", "Undefined", "SFX", "Air/Ground", "Undefined",
647 "Undefined", "Invincibility Frames?"
648 },
649 new string[]
650 {
651 "ID of throw data. Seemingly, a \"0\" indicates this is the throw data, while a \"1\" indicates this is used if the opponent escapes during the throw. \"2\" has also been seen (by Light Arrow).",
652 "Possibly bone used by collision.", "The amount of damage inflicted to the target on throw.",
653 "The direction in which the target gets launched.",
654 "The additional distance the target is launched proportional to its damage.",
655 "The distance the target is launched proportional to weight. Set to non-zero values only for fixed knockback throws.",
656 "The distance the target is launched regardless of its damage. Set to zero for fixed knockback throws.",
657 "The effect of the throw. See the [[Hitbox Flags (Brawl)#Bits 28-32 (Effect)", "Undefined.",
658 "Undefined.", "Undefined.", "Undefined.", "Sound effect played upon throw.",
659 "0 = Never Grabs, 1 = Only Grabs Grounded Foes, 2 = Only Grabs Aerial Foes, 3= Grabs Aerial and Grounded Foes.",
660 "Undefined.", "Undefined.",
661 "The number of invincibility frames the thrower gains when this command is executed?"
662 },
663 "\\name():ID=\\value(0), Bone?=\\value(1), Damage=\\unhex(\\value(2)), Direction=\\unhex(\\value(3)), KnockbackGrowth=\\unhex(\\value(4)), WeightKnockback=\\unhex(\\value(5)),BaseKnockback=\\unhex(\\value(6)), Element=\\value(7), UnknownA=\\value(8), UnknownB=\\value(9), UnknownC=\\value(10), UnknownD=\\value(11), SFX=\\value(12), Direction?=\\value(13), UnknownE=\\value(14), UnknownF=\\value(15), UnknownG=\\value(16)",
664 new long[] {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 3, 3, 0}));
666 "Throws an opponent based on data provided by 060E1100 (Throw Specifier).",
667 new string[] {"ID?", "Bone", "Undefined", "Undefined", "Undefined"},
668 new string[]
669 {
670 "Undefined.", "Appears to always be the bone the thrown character is attached to.", "Undefined.",
671 "Undefined.", "Undefined"
672 },
673 "",
674 new long[] {0, 0, 5, 5, 5}));
676 "Generate an offensive collision bubble - is able to achieve unique effects.",
677 new string[]
678 {
679 "Bone/Id", "Damage", "Trajectory", "Weight Knockback/Knockback Growth",
680 "Shield Damage/Base Knockback", "Size", "X Offset", "Y Offset", "Z Offset", "Tripping Rate",
681 "Hitlag Multiplier", "Directional Influence Multiplier", "Flags", "Rehit Rate", "Special Flags"
682 },
683 new string[]
684 {
685 "Value1 = The bone the collision bubble is attached to. Value2 = The id number of the collision bubble.",
686 "The amount of damage inflicted to the target upon collision. ",
687 "The direction in which a target gets launched.",
688 "Value1 = The distance the target is launched proportional to weight for fixed knockback hits. Value2 = The additional distance the target is launched proportional to its damage (launch force for fixed knockback hits).",
689 "Value1 = The amount of damage dealt to the target's shield if it is up. Value2 = The distance the target is launched regardless of its damage (zero for fixed knockback hits).",
690 "The size of the collision bubble.", "Transition relative to the currently attached bone.",
691 "Transition relative to the currently attached bone.",
692 "Transition relative to the currently attached bone.",
693 "The percent possibility of the collision bubble inducing a trip, provided the target doesn't leave the ground from the knockback.",
694 "A multiplier affecting the time in which both parties pause when the collision bubble connects.",
695 "A multiplier affecting the ability for the character maneuver themselves while suffering from the hitlag generated by this collision bubble.",
696 "Flags for various parameters such as hit effects and sound effects.",
697 "How many frames between each hitbox refresh; for example a value of 8 will cause the hitbox to hit every 9 frames. A value of 0 disables refreshing; the hitbox will only hit once.",
698 "Flags for hitbox type and attributes such as susceptibility to reflection and absorption."
699 },
700 "\\name(): Id=\\unhex(\\half2(\\value(0))), Bone=\\bone(\\half1(\\value(0))), Damage=\\unhex(\\value(1)), ShieldDamage=\\unhex(\\half1(\\value(4))), Direction=\\unhex(\\value(2)), BaseKnockback=\\unhex(\\half2(\\value(4))), WeightKnockback=\\unhex(\\half1(\\value(3))), KnockbackGrowth=\\unhex(\\half2(\\value(3))), Size=\\value(5), Z Offset=\\value(6), Y Offset=\\value(7), X Offset=\\value(8), TripRate=\\value(9)%, HitlagMultiplier=x\\value(10), SDIMultiplier=x\\value(11), Flags=\\hex8(\\unhex(\\value(12)))",
701 new long[] {0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0}));
703 "Character Specific Special Offensive Collision",
704 "Generate an offensive collision bubble - is able to achieve unique effects.",
705 new string[]
706 {
707 "Undefined", "Damage", "Trajectory", "Weight Knockback/Knockback Growth",
708 "Shield Damage/Base Knockback", "Size", "X Offset", "Y Offset", "Z Offset", "Tripping Rate",
709 "Hitlag Multiplier", "Directional Influence Multiplier", "Flags", "Rehit Rate", "Special Flags"
710 },
711 new string[]
712 {
713 "Unknown.", "The amount of damage inflicted to the target upon collision. ",
714 "The direction in which a target gets launched.",
715 "Value1 = The distance the target is launched proportional to weight for fixed knockback hits. Value2 = The additional distance the target is launched proportional to its damage (launch force for fixed knockback hits).",
716 "Value1 = The amount of damage dealt to the target's shield if it is up. Value2 = The distance the target is launched regardless of its damage (zero for fixed knockback hits).",
717 "The size of the collision bubble.", "Transition relative to the currently attached bone.",
718 "Transition relative to the currently attached bone.",
719 "Transition relative to the currently attached bone.",
720 "The percent possibility of the collision bubble inducing a trip, provided the target doesn't leave the ground from the knockback.",
721 "A multiplier affecting the time in which both parties pause when the collision bubble connects.",
722 "A multiplier affecting the ability for the character maneuver themselves while suffering from the hitlag generated by this collision bubble.",
723 "Flags for various parameters such as hit effects and sound effects.",
724 "How many frames between each hitbox refresh; for example a value of 8 will cause the hitbox to hit every 9 frames. A value of 0 disables refreshing; the hitbox will only hit once.",
725 "Flags for hitbox type and attributes such as susceptibility to reflection and absorption."
726 },
727 "\\name(): Id=\\unhex(\\half2(\\value(0))), Bone=\\bone(\\half1(\\value(0))), Damage=\\unhex(\\value(1)), ShieldDamage=\\unhex(\\half1(\\value(4))), Direction=\\unhex(\\value(2)), BaseKnockback=\\unhex(\\half2(\\value(4))), WeightKnockback=\\unhex(\\half1(\\value(3))), KnockbackGrowth=\\unhex(\\half2(\\value(3))), Size=\\value(5), Z Offset=\\value(6), Y Offset=\\value(7), X Offset=\\value(8), TripRate=\\value(9)%, HitlagMultiplier=x\\value(10), SDIMultiplier=x\\value(11), Flags=\\hex8(\\unhex(\\value(12)))",
728 new long[] {0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0}));
730 "Generate a defensive collision bubble.",
731 new string[] {"Undefined", "Undefined", "Undefined"},
732 new string[] {"Undefined.", "Undefined.", "Undefined"},
733 "",
734 new long[] {0, 0, 0}));
736 "Removes defensive collisions.",
737 new string[] {"Undefined", "Undefined", "Undefined"},
738 new string[] {"Undefined.", "Undefined.", "Undefined"},
739 "",
740 new long[] {0, 0, 0}));
742 "Repositions an already-existing hitbox.",
743 new string[] {"Hitbox ID", "New Bone", "New X Offset", "New Y Offset", "New Z Offset"},
744 new string[]
745 {
746 "The ID of the hitbox to modify.", "The ID of the bone to attach to.", "The new X translation.",
747 "The new Y translation.", "The new Z translation"
748 },
749 "",
750 new long[] {0, 0, 1, 1, 1}));
752 "Generate a damage collision bubble surrounding the character being thrown.",
753 new string[]
754 {
755 "Bone/Id", "Damage", "Trajectory", "Weight Knockback/Knockback Growth",
756 "Shield Damage/Base Knockback", "Size", "X Offset", "Y Offset", "Z Offset", "Tripping Rate",
757 "Hitlag Multiplier", "Directional Influence Multiplier", "Flags"
758 },
759 new string[]
760 {
761 "The bone the collision bubble is attached to/The id number of the collision bubble. Where XXXXYYYY is X=Bone, Y=Id.",
762 "The amount of damage inflicted to the target upon collision.",
763 "The direction in which a target gets launched.",
764 "The distance the target is launched proportional to weight for fixed knockback hits/The additional distance the target is launched proportional to its damage (launch force for fixed knockback hits). XXXXYYYY is X=Weight Knockback, Y=Knockback Growth.",
765 "The amount of damage dealt to the target's shield if it is up/The distance the target is launched regardless of its damage (zero for fixed knockback hits). XXXXYYYY is X=Shield Damage, Y=Base Knockback.",
766 "The size of the collision bubble.",
767 "The amount the collision bubble is transitioned relative to the currently attached bone.",
768 "The amount the collision bubble is transitioned relative to the currently attached bone.",
769 "The amount the collision bubble is transitioned relative to the currently attached bone.",
770 "The percent possibility of the collision bubble inducing a trip, proving the target doesn't leave the ground from the knockback.",
771 "A multiplier affecting the time in which both parties pause when the collision bubble connects.",
772 "A multiplier affecting the ability for the character maneuver themselves while suffering from the hitlag generated by this collision bubble.",
773 "Flags for various parameters such as hit effects and sound effects."
774 },
775 "",
776 new long[] {0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0}));
778 "Play a specified sound effect.",
779 new string[] {"Sound Effect"},
780 new string[] {"The ID number for the sound effect called."},
781 "\\name(): \\value(0)",
782 new long[] {0}));
784 "Play a specified sound effect.",
785 new string[] {"Sound Effect"},
786 new string[] {"The ID number for the sound effect called."},
787 "\\name(): \\value(0)",
788 new long[] {0}));
790 "Play a specified sound effect. The sound effect ends with the animation.",
791 new string[] {"Sound Effect"},
792 new string[] {"The ID number for the sound effect called."},
793 "\\name(): \\value(0)",
794 new long[] {0}));
796 "Is used during victory poses.",
797 new string[] {"Undefined"},
798 new string[] {"Undefined"},
799 "",
800 new long[] {0}));
802 "Undefined.",
803 new string[] {"Undefined"},
804 new string[] {"Undefined"},
805 "",
806 new long[] {0}));
808 "Play a specified sound effect.",
809 new string[] {"Sound Effect"},
810 new string[] {"The ID number of the sound effect to be called."},
811 "\\name(): \\value(0)",
812 new long[] {0}));
814 "Play a specified sound effect.",
815 new string[] {"Sound Effect"},
816 new string[] {"The ID number of the sound effect to be called."},
817 "\\name(): \\value(0)",
818 new long[] {0}));
820 "Stops the specified sound effect immediately.",
821 new string[] {"Sound Effect"},
822 new string[] {"The ID number of the sound effect to be called."},
823 "",
824 new long[] {0}));
826 "Causes the acting instance to terminate (if possible). Will load secondary instance if available.",
827 new string[] { },
828 new string[] { },
829 "",
830 new long[] { }));
832 "Play a random voice clip from the selection of low voice clips.",
833 new string[] { },
834 new string[] { },
835 "",
836 new long[] { }));
838 "Play a random voice clip from the selection of damage voice clips.",
839 new string[] { },
840 new string[] { },
841 "",
842 new long[] { }));
844 "Play the voice clip for Ottotto.",
845 new string[] { },
846 new string[] { },
847 "",
848 new long[] { }));
850 "Dictates the frame speed of the subaction. Example: setting to 2 makes the animation and timers occur twice as fast.",
851 new string[] {"Multiplier"},
852 new string[] {"How many times faster the frames are."},
853 "\\name(): Multiplier=\\value(0)x",
854 new long[] {1}));
856 "Change the speed of time for various parts of the environment.",
857 new string[] {"Multiplier", "Frames"},
858 new string[] {"How many times faster the frames are.", "How long the time is multiplied."},
859 "\\name(): Amount=\\value(0), Frames=\\value(0)",
860 new long[] {0, 0}));
862 "Specify whether the character is on or off the ground.",
863 new string[] {"State"},
864 new string[] {"The state of the character's air/ground status. 0 = In Air, 1 = On Ground"},
865 "\\name(): \\airground(\\value(0))",
866 new long[] {0}));
868 "Determines whether or not the character will slide off the edge.",
869 new string[] {"Character State"},
870 new string[]
871 {
872 "1: Can drop off side of stage. 2: Can't drop off side of stage. 5: Treated as in air; can leave stage vertically. Other states currently unknown."
873 },
874 "\\name(): \\enum(\\value(0), 0)",
875 new long[] {0})
876 {
877 Enums = new Dictionary<int, List<string>>()
878 {
879 {
880 0,
881 new List<string>()
882 {
883 "Undefined(0)", "Can drop off side of stage", "Can't drop off side of stage",
884 "Undefined(3)",
885 "Undefined(4)", "In Air; Can leave stage vertically",
886 }
887 }
888 }
889 });
891 "Generate a pre-made prop effect from the prop library.",
892 new string[] {"Article ID"},
893 new string[] {"The id of the prop article to be called."},
894 "\\name(): \\value(0)",
895 new long[] {0}));
897 "Removes an article.",
898 new string[] {"Article"},
899 new string[] {"ID of the article to be affected."},
900 "\\name(): \\value(0)",
901 new long[] {0}));
903 "Makes an article visible or invisible.",
904 new string[] {"Article", "Visibility"},
905 new string[] {"ID of the article to be affected.", "Set Boolean: True = Visible, False = Invisible"},
906 "\\name(): Article ID=\\value(0), Visible=\\value(1)",
907 new long[] {0, 3}));
909 "Generate a prop effect with the specified parameters.",
910 new string[] { },
911 new string[] { },
912 "",
913 new long[] { }));
915 "Generate a generic graphical effect with the specified parameters.",
916 new string[]
917 {
918 "Graphic", "Bone", "Z Offset", "Y Offset", "X Offset", "Z Rotation", "Y Rotation", "X Rotation",
919 "Scale", "Random Z Offset", "Random Y Offset", "Random Z Offset", "Random Z Rotation",
920 "Random Y Rotation", "Random X Rotation", "Terminate With Animation"
921 },
922 new string[]
923 {
924 "The file from which to call from/The graphical effect to call. Value1 = File#, Value2 = Graphic ID",
925 "The bone to attach the graphical effect to.",
926 "Transition from the attached bone along the Z axis.",
927 "Transition from the attached bone along the Y axis.",
928 "Transition from the attached bone along the X axis.", "Rotation along the Z axis.",
929 "Rotation along the Y axis.", "Rotation along the X axis.", "The size of the graphic.",
930 "A random value lesser than the specified value and added to the Z Offset.",
931 "A random value lesser than the specified value and added to the Y Offset.",
932 "A random value lesser than the specified value and added to the X Offset.",
933 "A random value lesser than the specified value and added to the Z Rotation.",
934 "A random value lesser than the specified value and added to the Y Rotation.",
935 "A random value lesser than the specified value and added to the X Rotation.",
936 "Sets whether or not this graphic effect terminates when the animation ends."
937 },
938 "\\name(): File=\\unhex(\\half1(\\value(0))), Graphic ID=\\unhex(\\half2(\\value(0))), Bone=\\bone(\\value(1)), Translation=(\\value(4), \\value(3), \\value(2)), Rotation=(\\value(7), \\value(6), \\value(5)), Scale=\\value(8), Random Translation=(\\value(11), \\value(10), \\value(9)), Random Rotation=(\\value(14), \\value(13), \\value(12)), Anchored=\\value(15)",
939 new long[] {0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3}));
941 "Generate a graphical effect from an external file. (usually the Ef_ file)",
942 new string[]
943 {
944 "Graphic", "Bone", "Z Offset", "Y Offset", "X Offset", "Z Rotation", "Y Rotation", "X Rotation",
945 "Scale", "Terminate With Animation"
946 },
947 new string[]
948 {
949 "The file from which to call from/The graphical effect to call. Value1 = File#, Value2 = Graphic ID",
950 "The bone to attach the graphical effect to.",
951 "Transition from the attached bone along the Z axis.",
952 "Transition from the attached bone along the Y axis.",
953 "Transition from the attached bone along the X axis.", "Rotation along the Z axis.",
954 "Rotation along the Y axis.", "Rotation along the X axis.", "The size of the graphic.",
955 "Sets whether or not this graphic effect terminates when the animation ends."
956 },
957 "\\name(): File=\\unhex(\\half1(\\value(0))), Graphic ID=\\unhex(\\half2(\\value(0))), Bone=\\bone(\\value(1)), Translation=(\\value(4), \\value(3), \\value(2)), Rotation=(\\value(7), \\value(6), \\value(5)), Scale=\\value(8), Anchored=\\value(9)",
958 new long[] {0, 0, 1, 1, 1, 1, 1, 1, 1, 3}));
960 "Generate a graphical effect from an external file. (usually the Ef_ file)",
961 new string[]
962 {
963 "Graphic", "Bone", "Z Offset", "Y Offset", "X Offset", "Z Rotation", "Y Rotation", "X Rotation",
964 "Scale", "Terminate With Animation"
965 },
966 new string[]
967 {
968 "The file from which to call from/The graphical effect to call. Value1 = File#, Value2 = Graphic ID",
969 "The bone to attach the graphical effect to.",
970 "Transition from the attached bone along the Z axis.",
971 "Transition from the attached bone along the Y axis.",
972 "Transition from the attached bone along the X axis.", "Rotation along the Z axis.",
973 "Rotation along the Y axis.", "Rotation along the X axis.", "The size of the graphic.",
974 "Sets whether or not this graphic effect terminates when the animation ends."
975 },
976 "\\name(): File=\\unhex(\\half1(\\value(0))), Graphic ID=\\unhex(\\half2(\\value(0))), Bone=\\bone(\\value(1)), Translation=(\\value(4), \\value(3), \\value(2)), Rotation=(\\value(7), \\value(6), \\value(5)), Scale=\\value(8), Anchored=\\value(9)",
977 new long[] {0, 0, 1, 1, 1, 1, 1, 1, 1, 3}));
979 "Tint the screen to the specified color.",
980 new string[]
981 {"Transition In Time", "Red", "Green", "Blue", "Alpha", "Frame Count", "Transition Out Time"},
982 new string[]
983 {
984 "The time taken to transition from the current color to the specified color.", "The red value.",
985 "The green value.", "The blue value.", "The transparency.",
986 "The amount of frames that the color lasts.", "The amount of time it takes the color to fade out."
987 },
988 "\\name(): TransInTime=\\value(0), RGBA=(\\value(1), \\value(2), \\value(3), \\value(4)), FrameCount=\\value(5), TransOutTime=\\value(6)",
989 new long[] {0, 0, 0, 0, 0, 0, 0}));
991 "Generate a generic graphical effect with the specified parameters.",
992 new string[]
993 {
994 "Graphic", "Bone", "Z Offset", "Y Offset", "X Offset", "Z Rotation", "Y Rotation", "X Rotation",
995 "Scale", "Random Z Offset", "Random Y Offset", "Random Z Offset", "Random Z Rotation",
996 "Random Y Rotation", "Random X Rotation", "Terminate With Animation"
997 },
998 new string[]
999 {
1000 "The graphical effect to call.", "The bone to attach the graphical effect to.",
1001 "Transition from the attached bone along the Z axis.",
1002 "Transition from the attached bone along the Y axis.",
1003 "Transition from the attached bone along the X axis.", "Rotation along the Z axis.",
1004 "Rotation along the Y axis.", "Rotation along the X axis.", "The size of the graphic.",
1005 "A random value lesser than the specified value and added to the Z Offset.",
1006 "A random value lesser than the specified value and added to the Y Offset.",
1007 "A random value lesser than the specified value and added to the X Offset.",
1008 "A random value lesser than the specified value and added to the Z Rotation.",
1009 "A random value lesser than the specified value and added to the Y Rotation.",
1010 "A random value lesser than the specified value and added to the X Rotation.",
1011 "Sets whether or not this graphic effect terminates when the animation ends."
1012 },
1013 "\\name(): Graphic=\\value(0), Bone=\\bone(\\value(1)), Translation=(\\value(4), \\value(3), \\value(2)), Rotation=(\\value(7), \\value(6), \\value(5)), Scale=\\value(8), Random Translation=(\\value(11), \\value(10), \\value(9)), Random Rotation=(\\value(14), \\value(13), \\value(12)), Anchored=\\value(15)",
1014 new long[] {0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3}));
1016 "Generate a generic graphical effect with the specified parameters.",
1017 new string[]
1018 {
1019 "Graphic", "Bone", "Z Offset", "Y Offset", "X Offset", "Z Rotation", "Y Rotation", "X Rotation",
1020 "Scale", "Random Z Offset", "Random Y Offset", "Random Z Offset", "Random Z Rotation",
1021 "Random Y Rotation", "Random X Rotation", "Terminate With Animation"
1022 },
1023 new string[]
1024 {
1025 "The graphical effect to call.", "The bone to attach the graphical effect to.",
1026 "Transition from the attached bone along the Z axis.",
1027 "Transition from the attached bone along the Y axis.",
1028 "Transition from the attached bone along the X axis.", "Rotation along the Z axis.",
1029 "Rotation along the Y axis.", "Rotation along the X axis.", "The size of the graphic.",
1030 "A random value lesser than the specified value and added to the Z Offset.",
1031 "A random value lesser than the specified value and added to the Y Offset.",
1032 "A random value lesser than the specified value and added to the X Offset.",
1033 "A random value lesser than the specified value and added to the Z Rotation.",
1034 "A random value lesser than the specified value and added to the Y Rotation.",
1035 "A random value lesser than the specified value and added to the X Rotation.",
1036 "Sets whether or not this graphic effect terminates when the animation ends."
1037 },
1038 "\\name(): Graphic=\\value(0), Bone=\\bone(\\value(1)), Translation=(\\value(4), \\value(3), \\value(2)), Rotation=(\\value(7), \\value(6), \\value(5)), Scale=\\value(8), Random Translation=(\\value(11), \\value(10), \\value(9)), Random Rotation=(\\value(14), \\value(13), \\value(12)), Anchored=\\value(15)",
1039 new long[] {0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3}));
1041 "Creates glow of sword. Only usable when the proper effects are loaded by their respective characters.",
1042 new string[]
1043 {
1044 "Color", "Blur Length", "Trail Bone #1", "X Offset", "Y Offset", "Z Offset", "Trail Bone #2",
1045 "X Offset", "Y Offset", "Z Offset", "Glow State", "Graphic ID", "Glow Bone", "X Offset", "Y Offset",
1046 "Z Offset", "X Rotation", "Y Rotation", "Z Rotation", "Glow Length"
1047 },
1048 new string[]
1049 {
1050 "Controls the hue of the glow.", "The length of the glow's aftershadow.",
1051 "Bone the 1st point of the sword trail follows.", "X offset of the 1st point of the sword trail.",
1052 "Y offset of the 1st point of the sword trail.", "Z offset of the 1st point of the sword trail.",
1053 "Bone the 2nd point of the sword trail follows.", "X offset of the 2nd point of the sword trail.",
1054 "Y offset of the 2nd point of the sword trail.", "Z offset of the 2nd point of the sword trail.",
1055 "If set to true, glow/trail disappears at the end of the subaction.",
1056 "The ID of the External Graphic Effect referenced.", "Bone the sword glow follows.",
1057 "X offset of the sword glow.", "Y offset of the sword glow.", "Z offset of the sword glow.",
1058 "Rotation of the sword glow around the X axis.", "Rotation of the sword glow around the Y axis.",
1059 "Rotation of the sword glow around the Z axis.",
1060 "Length of the sword glow, i.e. halving this value will make it half the sword's length."
1061 },
1062 "\\name(): Hue=\\value(0), Length=\\value(1), Bone #1=\\bone(\\value(2)), Translation=(\\value(3), \\value(4), \\value(5)), Bone #2=\\bone(\\value(6)), Translation=(\\value(7), \\value(8), \\value(9)), State=\\value(10), Graphic=\\value(11), Bone #3=\\bone(\\value(12)), Translation=(\\value(13), \\value(14), \\value(15)), Rotation=(\\value(16), \\value(17), \\value(18)), Length=\\value(19)",
1063 new long[] {0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 3, 0, 0, 1, 1, 1, 1, 1, 1, 1}));
1065 "Eliminates sword glow graphics when set to 1. May have unknown applications.",
1066 new string[] {"Fade Time"},
1067 new string[] {"The time it takes for the sword glow to fade out."},
1068 "\\name(): Fade Time=\\value(0)",
1069 new long[] {0}));
1071 "Moves nearby movable model parts (capes, hair, etc) with a wind specified by the parameters.",
1072 new string[]
1073 {"Undefined", "Undefined", "Strength", "Speed", "Size?", "Undefined", "Undefined", "Undefined"},
1074 new string[]
1075 {
1076 "Undefined.", "Undefined.", "The power of the wind.", "The speed of the wind.",
1077 "Perhaps the size of the wind.", "Undefined.", "Undefined.", "Undefined"
1078 },
1079 "",
1080 new long[] {0, 1, 1, 1, 1, 1, 1, 0}));
1082 "Set a basic variable to the specified value.",
1083 new string[] {"Value", "Variable"},
1084 new string[]
1085 {"The value to place inside the specified variable.", "The Basic type variable to access."},
1086 "\\name(): \\value(1) = \\unhex(\\value(0))",
1087 new long[] {0, 5}));
1089 "Add a specified value to a basic variable.",
1090 new string[] {"Value", "Variable"},
1091 new string[] {"The value add to the specified variable.", "The Basic type variable to access."},
1092 "\\name(): \\value(1) += \\unhex(\\value(0))",
1093 new long[] {0, 5}));
1095 "Subtract a specified value from a basic variable.",
1096 new string[] {"Value", "Variable"},
1097 new string[]
1098 {"The value to subtract from the specified variable.", "The Basic type variable to access."},
1099 "\\name(): \\value(1) -= \\unhex(\\value(0))",
1100 new long[] {0, 5}));
1102 "Set a floating point variable to the specified value.",
1103 new string[] {"Value", "Variable"},
1104 new string[]
1105 {
1106 "The floating point value to place inside the specified variable.",
1107 "The Float type variable to access."
1108 },
1109 "\\name(): \\value(1) = \\unhex(\\value(0))",
1110 new long[] {1, 5}));
1112 "Add a specified value to a float variable.",
1113 new string[] {"Value", "Variable"},
1114 new string[]
1115 {
1116 "The floating point value to add to the specified variable.", "The Float type variable to access."
1117 },
1118 "\\name(): \\value(1) += \\unhex(\\value(0))",
1119 new long[] {1, 5}));
1121 "Subtract a specified value from a float variable.",
1122 new string[] {"Value", "Variable"},
1123 new string[]
1124 {
1125 "The floating point value to subtract from the specified variable.",
1126 "The Float type variable to access."
1127 },
1128 "\\name(): \\value(1) -= \\unhex(\\value(0))",
1129 new long[] {1, 5}));
1131 "Set a bit variable to true.",
1132 new string[] {"Variable"},
1133 new string[] {"The Bit type variable to set."},
1134 "\\name(): \\value(0) = true",
1135 new long[] {5}));
1137 "Set a bit variable to false.",
1138 new string[] {"Variable"},
1139 new string[] {"The Bit type variable to clear."},
1140 "\\name(): \\value(0) = false",
1141 new long[] {5}));
1143 "Zoom the camera on the character.",
1144 new string[] {"Zoom Time", "Undefined", "Distance", "X Angle", "Y Angle"},
1145 new string[]
1146 {
1147 "The time it takes to zoom in on the target.", "Undefined.",
1148 "How far away the camera is from the character.", "The horizontal rotation around the character.",
1149 "The vertical rotation around the character."
1150 },
1151 "\\name(): Zoom Time=\\value(0), Undefined=\\value(1), Distance=\\value(2), X Rotation=\\value(3), Y Rotation=\\value(4)",
1152 new long[] {0, 0, 1, 1, 1}));
1154 "Return the camera to its normal settings.",
1155 new string[] { },
1156 new string[] { },
1157 "",
1158 new long[] { }));
1160 "Cause the character to recieve the closest item in range.",
1161 new string[] {"Undefined"},
1162 new string[] {"Undefined"},
1163 "",
1164 new long[] {0}));
1166 "Cause the character to recieve the closest item in range.",
1167 new string[] {"Undefined", "Undefined"},
1168 new string[] {"Undefined.", "Undefined"},
1169 "",
1170 new long[] {0, 0}));
1172 "Cause the character to throw the currently held item.",
1173 new string[] {"Undefined", "Undefined", "Undefined"},
1174 new string[] {"Undefined.", "Undefined.", "Undefined"},
1175 "",
1176 new long[] {5, 5, 5}));
1178 "Cause the character to drop any currently held item.",
1179 new string[] { },
1180 new string[] { },
1181 "",
1182 new long[] { }));
1184 "Cause the character to consume the currently held item.",
1185 new string[] {"Undefined"},
1186 new string[] {"Undefined"},
1187 "",
1188 new long[] {0}));
1190 "Modify a property of the currently held item.",
1191 new string[] {"Undefined", "Undefined"},
1192 new string[] {"Undefined.", "Undefined"},
1193 "",
1194 new long[] {0, 1}));
1196 "Is used when firing a cracker launcher.",
1197 new string[] {"Undefined"},
1198 new string[] {"Undefined"},
1199 "",
1200 new long[] {5}));
1202 "Generate an item in the character's hand.",
1203 new string[] {"Undefined"},
1204 new string[] {"Undefined"},
1205 "",
1206 new long[] {0}));
1208 "Creates a beam sword trail. Probably has more uses among battering weapons.",
1209 new string[] {"Undefined"},
1210 new string[] {"Undefined"},
1211 "",
1212 new long[] {0}));
1214 "Causes the character to throw the currently held item.",
1215 new string[] {"Undefined", "Undefined", "Undefined", "Undefined", "Undefined"},
1216 new string[] {"Undefined.", "Undefined.", "Undefined.", "Undefined.", "Undefined"},
1217 "",
1218 new long[] {1, 1, 5, 5, 5}));
1220 "Determines visibilty of the currently held item.",
1221 new string[] {"Item Visibility"},
1222 new string[] {"Set Boolean: True = Visible, False = Invisible"},
1223 "",
1224 new long[] {3}));
1226 "Fires a shot from the currently held item. (May have other unknown applications)",
1227 new string[] { },
1228 new string[] { },
1229 "",
1230 new long[] { }));
1232 "Fires a projectile of the specified degree of power.",
1233 new string[] { },
1234 new string[] { },
1235 "",
1236 new long[] { }));
1238 "Terminate all currently active flash effects.",
1239 new string[] { },
1240 new string[] { },
1241 "",
1242 new long[] { }));
1244 "Generate a flash overlay effect over the character with the specified colors and opacity. Replaces any currently active flash effects.",
1245 new string[] {"R", "G", "B", "A"},
1246 new string[]
1247 {
1248 "The red value from 0-255.", "The green value from 0-255.", "The blue value from 0-255.",
1249 "The alpha value from 0-255 (0 = fully transparent, 255 = fully opaque)."
1250 },
1251 "\\name(): RGBA=(\\value(0), \\value(1), \\value(2), \\value(3))",
1252 new long[] {0, 0, 0, 0}));
1254 "Changes the color of the current flash overlay effect.",
1255 new string[] {"Transition Time", "R", "G", "B", "A"},
1256 new string[]
1257 {
1258 "The number of frames the colour change takes.", "The red value (0-255) of the target colour.",
1259 "The green value (0-255) of the target colour.", "The blue value (0-255) of the target colour.",
1260 "The alpha value (0-255) of the target colour."
1261 },
1262 "\\name(): Transition Time=\\value(0), RGBA=(\\value(1), \\value(2), \\value(3), \\value(4))",
1263 new long[] {0, 0, 0, 0, 0}));
1265 "Generate a flash lighting effect over the character with the specified colors, opacity and angle. Replaces any currently active flash effects.",
1266 new string[] {"R", "G", "B", "A", "Angle", "Unknown"},
1267 new string[]
1268 {
1269 "The red value from 0-255.", "The green value from 0-255.", "The blue value from 0-255.",
1270 "The alpha value from 0-255 (0 = fully transparent, 255 = fully opaque).",
1271 "The angle in degrees of the virtual light source.",
1272 "Possibly the distance of the virtual light source?"
1273 },
1274 "\\name(): RGBA=(\\value(0), \\value(1), \\value(2), \\value(3)), Light Source X=\\value(4), Light Source Y=\\value(5)",
1275 new long[] {0, 0, 0, 0, 1, 1}));
1277 "Changes the color of the current flash light effect.",
1278 new string[] {"Transition Time", "R", "G", "B", "A"},
1279 new string[]
1280 {
1281 "The number of frames the color change takes.", "The red value (0-255) of the target color.",
1282 "The green value (0-255) of the target color.", "The blue value (0-255) of the target color.",
1283 "The alpha value (0-255) of the target color."
1284 },
1285 "\\name(): Transition Time=\\value(0), RGBA=(\\value(1), \\value(2), \\value(3), \\value(4))",
1286 new long[] {0, 0, 0, 0, 0}));
1288 "Allow the current action to be interrupted by another action.",
1289 new string[] { },
1290 new string[] { },
1291 "",
1292 new long[] { }));
1294 "Allows interruption only by specific commands. See parameters for list of possible interrupts.",
1295 new string[] {"Interrupt ID"},
1296 new string[]
1297 {
1298 "List of types of commands: 1-Ground Special, 2-Ground Item, 3-Ground Catch, 4-Ground Attack, 5-Ground Escape, 6-Ground Guard, 7-Ground Jump, 8-Ground (other), 9-Air Landing, A-Grab Edge, B-Air Special, C-Air Item Throw, D-Air Lasso, E-Air Dodge, F-Air Attack, 10-Air Tread Jump, 11-Air Walljump, 12-Air Jump Aerial, 13-Fall Through Plat(only works in squat)."
1299 },
1300 "\\name(): \\enum(\\value(0), 0)",
1301 new long[] {0})
1302 {
1303 Enums = new Dictionary<int, List<string>>()
1304 {
1305 {
1306 0,
1307 new List<string>()
1308 {
1309 "Main", "Ground Special", "Ground Item", "Ground Catch", "Ground Attack", "Ground Escape",
1310 "Ground Guard", "Ground Jump", "Ground (Other)", "Air Landing", "Grab Edge", "Air Special",
1311 "Air Item Throw", "Air Lasso", "Air Dodge", "Air Attack", "Air Tread Jump", "Air Walljump",
1312 "Air Jump Aerial", "Fall Through Platform (Squat Only)"
1313 }
1314 }
1315 }
1316 });
1318 "Shakes the screen.",
1319 new string[] {"Magnitude"},
1320 new string[] {"The intensity of the screenshake."},
1321 "\\name(): Magnitude=\\value(0)",
1322 new long[] {1}));
1324 "Changes whether the model is visible or not.",
1325 new string[] {"Visibility"},
1326 new string[] {"Set Boolean: True = Visible, False = Invisible"},
1327 "Visible: \\value(0)",
1328 new long[] {3}));
1330 "Undefined. Affects the rumble feature of the controller.",
1331 new string[] {"Undefined", "Undefined"},
1332 new string[] {"Undefined.", "Undefined"},
1333 "",
1334 new long[] {0, 0}));
1336 "Controls the movement velocity of the object.",
1337 new string[] {"Horizontal Velocity", "Vertical Velocity", "Set/Add Horizontal", "Set/Add Vertical"},
1338 new string[]
1339 {
1340 "The speed of the object moving left/right.", "The speed of the object moving up/down.",
1341 "0 = Add, 1 = Set", "0 = Add, 1 = Set"
1342 },
1343 "\\name(): Horizontal=\\value(0), Vertical=\\value(1), Add/Set Horiz=\\value(2), Add/Set Vert=\\value(3)",
1344 new long[] {1, 1, 0, 0}));
1346 "Adds or subtracts speed to the character's current momentum.",
1347 new string[] {"Horizontal Velocity", "Vertical Velocity"},
1348 new string[]
1349 {"The speed of the character moving left/right.", "The speed of the character moving up/down."},
1350 "\\name(): Horizontal Speed=\\value(0), Vertical Speed=\\value(1)",
1351 new long[] {1, 1}));
1353 "Does not allow the specified type of movement.",
1354 new string[] {"Type"},
1355 new string[]
1356 {
1357 "When set to 1, vertical movement is disallowed. When set to 2, horizontal movement is disallowed."
1358 },
1359 "\\name(): \\enum(\\value(0), 0)",
1360 new long[] {0})
1361 {
1362 Enums = new Dictionary<int, List<string>>()
1363 {{0, new List<string>() {"Undefined(0)", "Vertical", "Horizontal"}}}
1364 });
1366 "This must be set to the same value as Disallow Certain Movements to work.",
1367 new string[] { },
1368 new string[] { },
1369 "",
1370 new long[] {0}));
1372 "When set to 1, vertical speed and acceleration are reset back to 0.",
1373 new string[] { },
1374 new string[] { },
1375 "\\name(): \\unhex(\\value(0))",
1376 new long[] { }));
1378 "Disables or enables tag display for the current subaction.",
1379 new string[] {"Tag On/Off"},
1380 new string[] {"True = On, False = Off"},
1381 "\\name(): \\value(0)",
1382 new long[] {3}));
1384 "Begins super armor or heavy armor. Set both parameters to 0 to end the armor.",
1385 new string[] {"Armor State", "Heavy Armor Tolerance"},
1386 new string[]
1387 {
1388 "0 = None, 1 = Super Armor, 2 = Knockback Based Heavy Armor, 3 = Damage Based Heavy Armor",
1389 "The minimum damage or KB that will cause the character to flinch when using heavy armor."
1390 },
1391 "\\name(): State=\\enum(\\value(0), 0), Tolerance=\\value(1)",
1392 new long[] {0, 1})
1393 {
1394 Enums = new Dictionary<int, List<string>>()
1395 {
1396 {
1397 0,
1398 new List<string>()
1399 {"None", "Super Armor", "Knockback Based Heavy Armor", "Damage Based Heavy Armor"}
1400 }
1401 }
1402 });
1404 "Adds or subtracts the specified amount of damage from the character's current percentage.",
1405 new string[] {"Damage"},
1406 new string[] {"The amount of damage to add or subtract."},
1407 "\\name(): \\value(0)",
1408 new long[] {1}));
1410 "Changes a specific hitbox's damage to the new amount. Only guaranteed to work on Offensive Collisions.",
1411 new string[] {"Hitbox", "Damage"},
1412 new string[] {"ID of the hitbox to be changed.", "New damage of the hitbox."},
1413 "\\name(): ID=\\value(0), Damage=\\value(1)",
1414 new long[] {0, 0}));
1416 "Deletes a hitbox of the specified ID. Only guaranteed to work on Offensive Collisions.",
1417 new string[] {"Hitbox"},
1418 new string[] {"ID of the hitbox to be deleted."},
1419 "\\name(): \\value(0)",
1420 new long[] {0}));
1422 "Changes the visibility of certain bones attached to objects. Uses bone groups and switches set in Reference 1 of the Model Visibility section.",
1423 new string[] {"Switch Index", "Bone Group Index"},
1424 new string[]
1425 {
1426 "The index of the switch group in Reference 1 to modify.",
1427 "The index of the group of bones in the switch. A value less than 0 or greater than the amount of groups will disable the visibility of all objects. All other groups will be turned off when switching this one on."
1428 },
1429 "\\name(): Switch=\\value(0), Group=\\value(1)",
1430 new long[] {0, 0}));
1432 "Changes the visibility of certain bones attached to objects. Uses bone groups and switches set in Reference 2 of the Model Visibility section.",
1433 new string[] {"Switch Index", "Bone Group Index"},
1434 new string[]
1435 {
1436 "The index of the switch group in Reference 2 to modify.",
1437 "The index of the group of bones in the switch. A value less than 0 or greater than the amount of groups will disable the visibility of all objects. All other groups will be turned off when switching this one on."
1438 },
1439 "\\name(): Switch=\\value(0), Group=\\value(1)",
1440 new long[] { }));
1442 "This affects an article/model action. (This only works with characters who have articles in one of their files.",
1443 new string[] {"Model ID"},
1444 new string[]
1445 {
1446 "Model. (Only Summons the Id of the article/model to call. Only summons a FitChar##.pac. For example, Pit's bow is article/model 0)"
1447 },
1448 "\\name(): Model ID=\\value(0)",
1449 new long[] { }));
1451 "Sets the specified article to execute the specified action immediately. Only works on anchored articles (Cape, FLUDD, not fireball, water).",
1452 new string[] {"Article ID", "Action"},
1453 new string[]
1454 {
1455 "The ID of the article you would like to edit.", "The action you would like the article to execute."
1456 },
1457 "\\name(): article=\\value(0), action=\\unhex(\\value(1))",
1458 new long[] {0, 0}));
1460 "Sets the specified article to execute the specified action immediately. Only works on anchored articles (Cape, FLUDD, not fireball, water).",
1461 new string[] {"Article ID", "Action", "Subaction Exclusive?"},
1462 new string[]
1463 {
1464 "The ID of the article you would like to edit.",
1465 "The action you would like the article to execute.",
1466 "Whether or not you want the article to be automatically deleted when the subaction ends."
1467 },
1468 "\\name(): article=\\value(0), action=\\unhex(\\value(1)): Delete At End=\\value(2)",
1469 new long[] {0, 0, 3}));
1471 "Ends the wind effect spawned by the \"Aesthetic Wind Effect\" event.",
1472 new string[] {"Undefined"},
1473 new string[] {"Usually set to 0."},
1474 "",
1475 new long[] {0}));
1477 "Creates a rumble loop on the controller.",
1478 new string[] {"Undefined", "Undefined"},
1479 new string[] {"Undefined.", "Undefined"},
1480 "",
1481 new long[] {0, 0}));
1483 "Moves specific parts of the character if on sloped ground?",
1484 new string[] {"Parameter 0"},
1485 new string[] {"Unknown."},
1486 "",
1487 new long[] { }));
1489 "Moves entire character to match sloped ground?",
1490 new string[] {"Parameter 0", "Parameter 1"},
1491 new string[] {"Unknown.", "Unknown."},
1492 "",
1493 new long[] { }));
1495 "Generate a pre-made prop effect from the prop library.",
1496 new string[] {"Article ID", "Subaction Exclusive?"},
1497 new string[]
1498 {
1499 "The id of the prop article to be called.",
1500 "Whether or not you want the article to be automatically deleted when the subaction ends."
1501 },
1502 "",
1503 new long[] {0, 3}));
1505 "Makes the article preform an animation when set to 1.",
1506 new string[] {"Article ID"},
1507 new string[] {"ID of the article."},
1508 "",
1509 new long[] { }));
1511 "Undefined",
1512 new string[] { },
1513 new string[] { },
1514 "",
1515 new long[] { }));
1517 "Seems to be an \"and\" to an If statement.",
1518 new string[] { },
1519 new string[] { },
1520 "And \\value(0):",
1521 new long[] { }));
1523 "Seems to be an \"and\" to an If statement.",
1524 new string[] {"Requirement", "Variable"},
1525 new string[]
1526 {
1527 "The form of requirement used in evaluation of the event.",
1528 "The variable applied to the requirement."
1529 },
1530 "And \\value(0): \\value(1)",
1531 new long[] {6, 0}));
1533 "Seems to be an \"and\" to an If statement.",
1534 new string[] {"Requirement", "Variable", "Unknown"},
1535 new string[]
1536 {
1537 "The form of requirement used in evaluation of the event.",
1538 "The variable applied to the requirement.", "Unknown"
1539 },
1540 "And \\value(0): \\value(1); Unknown=\\value(2)",
1541 new long[] {6, 0, 0}));
1543 "Insert an alternate requirement to fall back on if the above requirement(s) are not met.",
1544 new string[] {"Requirement"},
1545 new string[] {"The form of requirement used in evaluation of the event."},
1546 "Or \\value(0):",
1547 new long[] {6}));
1549 "Insert an alternate requirement to fall back on if the above requirement(s) are not met.",
1550 new string[] {"Requirement", "Variable"},
1551 new string[]
1552 {
1553 "The form of requirement used in evaluation of the event.",
1554 "The variable applied to the requirement."
1555 },
1556 "Or \\value(0): \\value(1)",
1557 new long[] {6, 0}));
1559 "Insert an alternate requirement to fall back on if the above requirement(s) are not met.",
1560 new string[] {"Requirement", "Variable", "Unknown"},
1561 new string[]
1562 {
1563 "The form of requirement used in evaluation of the event.",
1564 "The variable applied to the requirement.", "Undefined"
1565 },
1566 "Or \\value(0): \\value(1); Unknown=\\value(2)",
1567 new long[] {6, 0, 0}));
1569 "Insert an alternate requirement to fall back on if the above requirement(s) are not met.",
1570 new string[] {"Requirement", "Variable", "Comparison Method", "Variable"},
1571 new string[]
1572 {
1573 "The form of requirement used in evaluation of the event.",
1574 "The first variable in the comparison requirement.",
1575 "The method used to compare the two variables. From 0 to 5: <, ≤, =, ≠, ≥, > ",
1576 "The second variable in the comparison requirement."
1577 },
1578 "Or \\value(0): \\value(1) \\cmpsign(\\value(2)) \\value(3)",
1579 new long[] {6, 5, 0, 5}));
1581 "Insert an Else If block inside of an If block.",
1582 new string[] {"Requirement", "Variable"},
1583 new string[]
1584 {
1585 "The form of requirement used in evaluation of the event.",
1586 "The variable applied to the requirement."
1587 },
1588 "Else If \\value(0): \\value(1)",
1589 new long[] {6, 0}));
1591 "Insert an Else If block inside of an If block.",
1592 new string[] {"Requirement", "Variable", "Unknown"},
1593 new string[]
1594 {
1595 "The form of requirement used in evaluation of the event.",
1596 "The variable applied to the requirement.", "Undefined"
1597 },
1598 "Else If \\value(0): \\value(1); Unknown=\\value(2)",
1599 new long[] {6, 0, 0}));
1601 "Appears within Case statements; exits the switch event completely. All code located in the same case block after this event will not be executed.",
1602 new string[] { },
1603 new string[] { },
1604 "",
1605 new long[] { }));
1607 "Change the current action upon the specified requirement being met (the requirement does not have to be met at the time this ID is executed - it can be used anytime after execution.)",
1608 new string[] {"Status ID", "Action", "Requirement", "Variable"},
1609 new string[]
1610 {
1611 "The four-digit status ID of the change action event. Can later be disabled via 02080100 (Disable Action Status ID)",
1612 "The ID of the action that the character will execute.",
1613 "The form of requirement used in evaluation of the event.",
1614 "The variable applied to the requirement."
1615 },
1616 "Prioritized Change Action: priority=\\unhex(\\value(0)), action=\\unhex(\\value(1)), requirement=\\value(2): \\value(3)",
1617 new long[] {0, 0, 6, 0}));
1619 "Change the current action upon the specified requirement being met (the requirement does not have to be met at the time this ID is executed - it can be used anytime after execution.)",
1620 new string[] {"Status ID", "Action", "Requirement", "Variable", "Unknown"},
1621 new string[]
1622 {
1623 "The four-digit status ID of the change action event. Can later be disabled via 02080100 (Disable Action Status ID)",
1624 "The ID of the action that the character will execute.",
1625 "The form of requirement used in evaluation of the event.",
1626 "The variable applied to the requirement.",
1627 "Used as a specification for the requirement when necessary (for example, if the requirement is \"button pressed\", this denotes which button)."
1628 },
1629 "Prioritized Change Action: priority=\\unhex(\\value(0)), action=\\unhex(\\value(1)), requirement=\\value(2): \\value(3); Unknown=\\value(4)",
1630 new long[] {0, 0, 6, 0, 0}));
1632 "Change the current action upon the specified requirement being met (the requirement does not have to be met at the time this ID is executed - it can be used anytime after execution.)",
1633 new string[] {"Status ID", "Action", "Requirement", "Variable", "Comparison", "Variable"},
1634 new string[]
1635 {
1636 "The four-digit status ID of the change action event. Can later be disabled via 02080100 (Disable Action Status ID)",
1637 "The ID of the action that the character will execute.",
1638 "The form of requirement used in evaluation of the event.",
1639 "The variable applied to the requirement.", "The first variable in the comparison requirement.",
1640 "The method used to compare the two variables. From 0 to 5: <, ≤, =, ≠, ≥, >",
1641 "The second variable in the comparison requirement."
1642 },
1643 "Prioritized Change Action: priority=\\unhex(\\value(0)), action=\\unhex(\\value(1)), requirement=\\value(2): \\value(3) \\cmpsign(\\value(4)) \\value(5)",
1644 new long[] {0, 0, 6, 0, 0}));
1646 "Disables the Action associated with the given Status ID.",
1647 new string[] {"Status ID"},
1648 new string[] {"The Status ID to disable. After this command, the associated Action will not activate."},
1649 "\\name(): \\unhex(\\value(0))",
1650 new long[] {0}));
1652 "Appears to invert (or possibly only disable) a specific Status ID's enabled/disabled status. For example, if a character can crawl, this is used to disable the ability to dash when crouched, even though naturally crouching allows dashing through 020A (Allow Specific Interrupt).",
1653 new string[] {"Interrupt ID?", "Status ID?"},
1654 new string[]
1655 {
1656 "Appears to be a Interrupt ID as used by 020A (Allow Specific Interrupt)",
1657 "Appears to be a Status ID."
1658 },
1659 "\\name(): Interrupt ID=\\enum(\\value(0), 0), Status ID=\\unhex(\\value(1))",
1660 new long[] {0, 0})
1661 {
1662 Enums = new Dictionary<int, List<string>>()
1663 {
1664 {
1665 0,
1666 new List<string>()
1667 {
1668 "Main", "Ground Special", "Ground Item", "Ground Catch", "Ground Attack", "Ground Escape",
1669 "Ground Guard", "Ground Jump", "Ground (Other)", "Air Landing", "Grab Edge", "Air Special",
1670 "Air Item Throw", "Air Lasso", "Air Dodge", "Air Attack", "Air Tread Jump", "Air Walljump",
1671 "Air Jump Aerial", "Fall Through Platform (Squat Only)"
1672 }
1673 }
1674 }
1675 });
1677 "Closes the specific interruption window. Must be set to the same thing as the allow specific interrupt that you wish to cancel.",
1678 new string[] {"Interrupt ID"},
1679 new string[]
1680 {
1681 "List of types of commands: 1-Ground Special, 2-Ground Item, 3-Ground Catch, 4-Ground Attack, 5-Ground Escape, 6-Ground Guard, 7-Ground Jump, 8-Ground (other), 9-Air Landing, A-Grab Edge, B-Air Special, C-Air Item Throw, D-Air Lasso, E-Air Dodge, F-Air Attack, 10-Air Tread Jump, 11-Air Walljump, 12-Air Jump Aerial, 13-Fall Through Plat(only works in squat)."
1682 },
1683 "\\name(): \\enum(\\value(0), 0)",
1684 new long[] {0})
1685 {
1686 Enums = new Dictionary<int, List<string>>()
1687 {
1688 {
1689 0,
1690 new List<string>()
1691 {
1692 "Main", "Ground Special", "Ground Item", "Ground Catch", "Ground Attack", "Ground Escape",
1693 "Ground Guard", "Ground Jump", "Ground (Other)", "Air Landing", "Grab Edge", "Air Special",
1694 "Air Item Throw", "Air Lasso", "Air Dodge", "Air Attack", "Air Tread Jump", "Air Walljump",
1695 "Air Jump Aerial", "Fall Through Platform (Squat Only)"
1696 }
1697 }
1698 }
1699 });
1701 "Possibly unregisters a previously created interrupt.",
1702 new string[] {"Interrupt ID"},
1703 new string[] {"Possibly the Interrupt ID to unregister."},
1704 "\\name(): \\enum(\\value(0), 0)",
1705 new long[] {0})
1706 {
1707 Enums = new Dictionary<int, List<string>>()
1708 {
1709 {
1710 0,
1711 new List<string>()
1712 {
1713 "Main", "Ground Special", "Ground Item", "Ground Catch", "Ground Attack", "Ground Escape",
1714 "Ground Guard", "Ground Jump", "Ground (Other)", "Air Landing", "Grab Edge", "Air Special",
1715 "Air Item Throw", "Air Lasso", "Air Dodge", "Air Attack", "Air Tread Jump", "Air Walljump",
1716 "Air Jump Aerial", "Fall Through Platform (Squat Only)"
1717 }
1718 }
1719 }
1720 });
1722 "",
1723 new string[] {"Requirement"},
1724 new string[] {"The form of requirement used in evaluation of the event."},
1725 "\\name(): \\value(0)",
1726 new long[] {6}));
1728 "Additional Subaction Change Requirement Value",
1729 "",
1730 new string[] {"Requirement", "Variable"},
1731 new string[]
1732 {
1733 "The form of requirement used in evaluation of the event.",
1734 "The variable applied to the requirement."
1735 },
1736 "\\name(): \\value(0): \\value(1)",
1737 new long[] {6, 5}));
1739 "Additional Subaction Change Requirement Unknown",
1740 "",
1741 new string[] {"Requirement", "Variable", "Undefined"},
1742 new string[]
1743 {
1744 "The form of requirement used in evaluation of the event.",
1745 "The variable applied to the requirement.", "Undefined"
1746 },
1747 "\\name(): \\value(0): \\value(1), \\value(2)",
1748 new long[] {6, 5, 0}));
1750 "Additional Subaction Change Requirement Compare",
1751 "",
1752 new string[] {"Requirement", "Variable", "Comparison Method", "Variable"},
1753 new string[]
1754 {
1755 "The form of requirement used in evaluation of the event.",
1756 "The first variable in the comparison requirement.",
1757 "The method used to compare the two variables. From 0 to 5: <, ≤, =, ≠, ≥, >",
1758 "The second variable in the comparison requirement."
1759 },
1760 "\\name(): \\value(0): \\value(1) \\cmpsign(\\value(2)) \\value(3)",
1761 new long[] {6, 5, 0, 5}));
1763 "Seems to act as an additional requirement for Additional Subaction Change Requirement.",
1764 new string[] {"Requirement"},
1765 new string[] {"The form of requirement used in evaluation of the event."},
1766 "\\name(): \\value(0)",
1767 new long[] {6}));
1769 "",
1770 new string[] {"Requirement", "Variable"},
1771 new string[]
1772 {
1773 "The form of requirement used in evaluation of the event.",
1774 "The variable applied to the requirement."
1775 },
1776 "\\name(): \\value(0): \\value(1)",
1777 new long[] {6, 5}));
1779 "Extra Subaction Change Requirement Unknown",
1780 "",
1781 new string[] {"Requirement", "Variable", "Undefined"},
1782 new string[]
1783 {
1784 "The form of requirement used in evaluation of the event.",
1785 "The variable applied to the requirement.", "Undefined"
1786 },
1787 "\\name(): \\value(0): \\value(1), \\value(2)",
1788 new long[] {6, 5, 0}));
1790 "Extra Subaction Change Requirement Compare",
1791 "",
1792 new string[] {"Requirement", "Variable", "Comparison Method", "Variable"},
1793 new string[]
1794 {
1795 "The form of requirement used in evaluation of the event.",
1796 "The first variable in the comparison requirement.",
1797 "The method used to compare the two variables. From 0 to 5: <, ≤, =, ≠, ≥, > ",
1798 "The second variable in the comparison requirement."
1799 },
1800 "\\name(): \\value(0): \\value(1) \\cmpsign(\\value(2)) \\value(3)",
1801 new long[] {6, 5, 0, 5}));
1803 "Changes the current frame of the animation. Does not change the frame of the subaction (i.e. timers and such are unaffected).",
1804 new string[] {"Frame"},
1805 new string[] {"The frame to skip to."},
1806 "\\name(): \\value(0)",
1807 new long[] {1}));
1809 "",
1810 new string[] {"Undefined"},
1811 new string[] {"Undefined"},
1812 "",
1813 new long[] {0}));
1815 "",
1816 new string[] {"Undefined"},
1817 new string[] {"Undefined"},
1818 "",
1819 new long[] {1}));
1821 "",
1822 new string[] {"Subaction"},
1823 new string[] {"A subaction ID."},
1824 "",
1825 new long[] {0}));
1827 "",
1828 new string[] {"Undefined"},
1829 new string[] {"Undefined"},
1830 "",
1831 new long[] {0}));
1833 "",
1834 new string[] {"Undefined"},
1835 new string[] {"Undefined"},
1836 "",
1837 new long[] {1}));
1839 "",
1840 new string[] {"Undefined"},
1841 new string[] {"Undefined"},
1842 "",
1843 new long[] {5}));
1845 "Undefined",
1846 new string[] { },
1847 new string[] { },
1848 "",
1849 new long[] { }));
1851 "Undefined",
1852 new string[] { },
1853 new string[] { },
1854 "",
1855 new long[] { }));
1857 "Undefined",
1858 new string[] { },
1859 new string[] { },
1860 "",
1861 new long[] { }));
1863 "Undefined",
1864 new string[] { },
1865 new string[] { },
1866 "",
1867 new long[] { }));
1869 "",
1870 new string[] {"Undefined", "Undefined", "Undefined"},
1871 new string[] {"Undefined.", "Undefined.", "Undefined"},
1872 "",
1873 new long[] {1, 5, 1}));
1875 "",
1876 new string[] {"Undefined"},
1877 new string[] {"Undefined"},
1878 "",
1879 new long[] {0}));
1881 "Changes a specific hitbox's size to the new amount. Only guaranteed to work on Offensive Collisions.",
1882 new string[] {"Hitbox", "Size"},
1883 new string[] {"ID of the hitbox to be changed.", "New size of the hitbox."},
1884 "\\name(): ID=\\value(1), Size=\\value(1)",
1885 new long[] {0, 0}));
1887 "Deletes the catch collision with the specified ID.",
1888 new string[] {"ID"},
1889 new string[] {"ID of the collision to delete"},
1890 "\\name(): \\value(0)",
1891 new long[] {0}));
1893 "Generates an oblivious hitbox only used to detect collision with other characters/objects.",
1894 new string[]
1895 {
1896 "Undefined", "Id", "Bone", "Size", "X Offset", "Y Offset", "Z Offset", "Flags", "F", "Air/Ground",
1897 "Undefined", "Undefined", "Undefined", "Undefined", "Rehit Rate?", "Affects Self?", "Undefined"
1898 },
1899 new string[]
1900 {
1901 "When messed with, seemed to affect the accuracy of the collision detection. Should be set to 0 to be safe.",
1902 "The ID of the hitbox", "The bone that the hitbubble is attached to.", "The size of the hitbubble.",
1903 "Transition relative to the currently attached bone.",
1904 "Transition relative to the currently attached bone.",
1905 "Transition relative to the currently attached bone.",
1906 "+02 = Hits Normally, +04=Can be reflected....", "Undefined",
1907 "1 = hits grounded, 2 = hits aerial, 3 = hits grounded and aerial", "Undefined", "Undefined",
1908 "Undefined", "Undefined", "The rehit rate of the hitbubble?",
1909 "Possibly if the uninteractive collision affects the host character.", "Undefined"
1910 },
1911 "\\name(): Id=\\value(1), Bone=\\bone(\\value(2)), Size=\\value(3), Z Offset=\\value(4), Y Offset=\\value(5), X Offset=\\value(6), Air/Ground=\\value(9),Self-Affliction=\\value(15)",
1912 new long[] {0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 3, 0, 0, 3, 0, 3, 0}));
1914 "Possibly the \"bump\" collisions that occur when a character in hitstun collides with another body.",
1915 new string[]
1916 {
1917 "Bone/ID?", "Damage", "Trajectory", "Weight Knockback/Knockback Growth?",
1918 "Shield Damage/Base Knockback?", "Size?", "X Offset?", "Y Offset?", "Z Offset?", "Tripping Rate?",
1919 "Hitlag Multiplier?", "Directional Influence Multiplier?", "Flags 1", "Undefined", "Flags 2"
1920 },
1921 new string[]
1922 {
1923 "The bone the collision bubble is attached to/The ID number of the collision bubble. Where XXXXYYYY is X=Bone, Y=Id.",
1924 "The amount of damage inflicted to the target upon collision.",
1925 "The direction in which a target gets launched.",
1926 "The distance the target is launched proportional to weight for fixed knockback hits/The additional distance the target is launched proportional to its damage (launch force for fixed knockback hits). XXXXYYYY is X=Weight Knockback, Y=Knockback Growth.",
1927 "The amount of damage dealt to the target's shield if it is up/The distance the target is launched regardless of its damage (zero for fixed knockback hits). XXXXYYYY is X=Shield Damage, Y=Base Knockback.",
1928 "The size of the collision bubble.",
1929 "The amount the collision bubble is transitioned relative to the currently attached bone.",
1930 "The amount the collision bubble is transitioned relative to the currently attached bone.",
1931 "The amount the collision bubble is transitioned relative to the currently attached bone.",
1932 "The percent possibility of the collision bubble inducing a trip, provided the target doesn't leave the ground from the knockback.",
1933 "A multiplier affecting the time in which both parties pause when the collision bubble connects.",
1934 "A multiplier affecting the ability for the character maneuver themselves while suffering from the hitlag generated by this collision bubble.",
1935 "Flags for various parameters such as hit effects and sound effects.", "Undefined.",
1936 "Flags for various parameters such as hit effects and sound effects."
1937 },
1938 "",
1939 new long[] {0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0}));
1941 "Undefined",
1942 new string[] { },
1943 new string[] { },
1944 "",
1945 new long[] { }));
1947 "Possibly clears the controller buffer.",
1948 new string[] { },
1949 new string[] { },
1950 "",
1951 new long[] { }));
1953 "Undefined",
1954 new string[] { },
1955 new string[] { },
1956 "",
1957 new long[] { }));
1959 "Undefined",
1960 new string[] { },
1961 new string[] { },
1962 "",
1963 new long[] { }));
1965 "",
1966 new string[] {"Undefined"},
1967 new string[] {"Undefined"},
1968 "",
1969 new long[] {3}));
1971 "Undefined",
1972 new string[] { },
1973 new string[] { },
1974 "",
1975 new long[] { }));
1977 "",
1978 new string[] {"Undefined"},
1979 new string[] {"Undefined"},
1980 "",
1981 new long[] {0}));
1983 "",
1984 new string[] {"Character State?"},
1985 new string[] {"Appears to use similar values to \"Set Edge Slide.\""},
1986 "",
1987 new long[] {0}));
1989 "",
1990 new string[] {"Undefined"},
1991 new string[] {"Undefined"},
1992 "",
1993 new long[] {3}));
1995 "Undefined",
1996 new string[] { },
1997 new string[] { },
1998 "",
1999 new long[] { }));
2001 "",
2002 new string[] {"Undefined"},
2003 new string[] {"Undefined"},
2004 "",
2005 new long[] {0}));
2007 "Undefined",
2008 new string[] { },
2009 new string[] { },
2010 "",
2011 new long[] { }));
2013 "Undefined",
2014 new string[] { },
2015 new string[] { },
2016 "",
2017 new long[] { }));
2019 "Allows use of Final Smash locked articles, variables, etc. Highly unstable.",
2020 new string[] { },
2021 new string[] { },
2022 "",
2023 new long[] { }));
2025 "Undefined",
2026 new string[] { },
2027 new string[] { },
2028 "",
2029 new long[] { }));
2031 "Used by certain article instances to remove themselves.",
2032 new string[] { },
2033 new string[] { },
2034 "",
2035 new long[] { }));
2037 "Allow or disallow grabbing ledges during the current subaction.",
2038 new string[] {"Allow/Disallow"},
2039 new string[] {"0 = cannot, 1 = Only in front, 2 = Always"},
2040 "",
2041 new long[] {0}));
2043 "",
2044 new string[] {"Undefined"},
2045 new string[] {"Undefined"},
2046 "",
2047 new long[] {0}));
2049 "Undefined",
2050 new string[] { },
2051 new string[] { },
2052 "",
2053 new long[] { }));
2055 "Undefined",
2056 new string[] { },
2057 new string[] { },
2058 "",
2059 new long[] { }));
2061 "Undefined. Often appears before 0C25 (Tag Display)",
2062 new string[] {"Undefined"},
2063 new string[] {"Undefined."},
2064 "",
2065 new long[] {3}));
2067 "Undefined. Often appears before 0C25 (Tag Display)",
2068 new string[] {"Undefined", "Undefined"},
2069 new string[] {"Undefined.", "Undefined"},
2070 "",
2071 new long[] {3, 5}));
2073 "",
2074 new string[] {"Undefined", "Undefined"},
2075 new string[] {"Undefined.", "Undefined"},
2076 "",
2077 new long[] {0, 0}));
2079 "",
2080 new string[] {"Undefined"},
2081 new string[] {"Undefined"},
2082 "",
2083 new long[] {5}));
2085 "",
2086 new string[] {"Undefined", "Undefined"},
2087 new string[] {"Undefined.", "Undefined"},
2088 "",
2089 new long[] {0, 0}));
2091 "",
2092 new string[] {"Undefined", "Undefined", "Undefined"},
2093 new string[] {"Undefined.", "Undefined.", "Undefined"},
2094 "",
2095 new long[] {0, 0, 3}));
2097 "Play a random voice clip from the selection of eating voice clips.",
2098 new string[] { },
2099 new string[] { },
2100 "",
2101 new long[] { }));
2103 "",
2104 new string[] {"Undefined", "Undefined"},
2105 new string[] {"Undefined.", "Undefined"},
2106 "",
2107 new long[] {0, 3}));
2109 "",
2110 new string[] {"Undefined"},
2111 new string[] {"Undefined"},
2112 "",
2113 new long[] {3}));
2115 "",
2116 new string[] {"Undefined"},
2117 new string[] {"Undefined"},
2118 "",
2119 new long[] {3}));
2121 "Undefined. Often appears within Switch statements.",
2122 new string[] { },
2123 new string[] { },
2124 "",
2125 new long[] { }));
2127 "Undefined",
2128 new string[] { },
2129 new string[] { },
2130 "",
2131 new long[] { }));
2133 "Undefined",
2134 new string[] { },
2135 new string[] { },
2136 "",
2137 new long[] { }));
2139 "Runs a subroutine once per frame for the current action.",
2140 new string[] {"Thread ID?", "Offset"},
2141 new string[]
2142 {
2143 "Possibly the thread ID of the concurrent routine. Sometimes 4, sometimes 6, sometimes 9.",
2144 "The subroutine location that contains the events that you would like to loop infinitely."
2145 },
2146 "\\name() (Type \\value(0)) @\\value(1)",
2147 new long[] {0, 2}));
2149 "Seems to stop the execution of a loop created with event 0D000200.",
2150 new string[] {"Thread ID?"},
2151 new string[]
2152 {"Possibly the thread ID of the concurrent routine. Sometimes 4, sometimes 6, sometimes 9."},
2153 "",
2154 new long[] {0}));
2156 "",
2157 new string[] {"Undefined", "Undefined"},
2158 new string[] {"Undefined.", "Undefined"},
2159 "",
2160 new long[] {0, 0}));
2162 "Terminates an unlimited screen tint with the specified ID.",
2163 new string[] {"ID", "Frames"},
2164 new string[]
2165 {"The ID of the screen tint to end.", "The amount of frames that the color will take to fade out."},
2166 "\\name(): ID=\\value(0), TransOutTime=\\value(1)",
2167 new long[] {0, 0}));
2169 "Variable++",
2170 new string[] {"Variable"},
2171 new string[] {"The variable to increment."},
2172 "\\name(): \\value(0)++",
2173 new long[] {5}));
2175 "Variable--",
2176 new string[] {"Variable"},
2177 new string[] {"The variable to decrement."},
2178 "\\name(): \\value(0)--",
2179 new long[] {5}));
2181 "Multiply a specified value with a float variable.",
2182 new string[] {"Value", "Variable"},
2183 new string[]
2184 {
2185 "The floating point value to multiply with the specified variable.",
2186 "The Float type variable to access."
2187 },
2188 "\\name(): \\value(1) *= \\unhex(\\value(0))",
2189 new long[] {1, 5}));
2191 "Undefined",
2192 new string[] { },
2193 new string[] { },
2194 "",
2195 new long[] { }));
2197 "Undefined",
2198 new string[] { },
2199 new string[] { },
2200 "",
2201 new long[] { }));
2203 "Undefined",
2204 new string[] { },
2205 new string[] { },
2206 "",
2207 new long[] { }));
2209 "Changes the camera boundaries of your character. Does not reset the camera boundaries; rather, it adds to them. Reverts to normal when the animation ends.",
2210 new string[] {"Front Boundary", "Back Boundary", "Top Boundary", "Bottom Boundary"},
2211 new string[]
2212 {
2213 "The boundary in front of the character.", "The boundary behind the character.",
2214 "The boundary above the character.", "The boundary below the character."
2215 },
2216 "\\name(): \\value(0) x \\value(1) x \\value(2); size \\value(3)",
2217 new long[] {1, 1, 1, 1}));
2219 "Causes the camera to follow or stop following a character.",
2220 new string[] {"Detached/Attached", "Detached/Attached"},
2221 new string[] {"False = detached, True = attached.", "False = detached, True = attached."},
2222 "",
2223 new long[] {3, 3}));
2225 "Undefined",
2226 new string[] { },
2227 new string[] { },
2228 "",
2229 new long[] { }));
2231 "",
2232 new string[] {"Undefined"},
2233 new string[] {"Undefined"},
2234 "",
2235 new long[] {0}));
2237 "Appears to override any other settings in favor of the character's preference.",
2238 new string[] { },
2239 new string[] { },
2240 "",
2241 new long[] { }));
2243 "Undefined",
2244 new string[] { },
2245 new string[] { },
2246 "",
2247 new long[] { }));
2249 "Deletes the item that the character is holding",
2250 new string[] { },
2251 new string[] { },
2252 "",
2253 new long[] { }));
2255 "",
2256 new string[] {"Undefined", "Undefined"},
2257 new string[] {"Undefined.", "Undefined"},
2258 "",
2259 new long[] {5, 3}));
2261 "Undefined",
2262 new string[] { },
2263 new string[] { },
2264 "",
2265 new long[] { }));
2267 "Undefined",
2268 new string[] { },
2269 new string[] { },
2270 "",
2271 new long[] { }));
2273 "",
2274 new string[] {"Undefined"},
2275 new string[] {"Undefined"},
2276 "",
2277 new long[] {3}));
2279 "Does the same thing as Set Article Action but seems to work on articles that aren't attached to the character.",
2280 new string[] {"Article ID", "SubAction"},
2281 new string[]
2282 {"ID of the article to be affected.", "The subaction you would like the article to execute."},
2283 "",
2284 new long[] {0, 0}));
2286 "Undefined.",
2287 new string[] { },
2288 new string[] { },
2289 "",
2290 new long[] { }));
2292 "Undefined.",
2293 new string[] { },
2294 new string[] { },
2295 "",
2296 new long[] { }));
2298 "Undefined.",
2299 new string[] { },
2300 new string[] { },
2301 "",
2302 new long[] { }));
2304 "Used in samus.",
2305 new string[] { },
2306 new string[] { },
2307 "",
2308 new long[] { }));
2310 "If false model will appear else if true model will disappear.",
2311 new string[] { },
2312 new string[] { },
2313 "",
2314 new long[] { }));
2316 "Often follows 01000000 (Loop Rest 1 for Goto)",
2317 new string[] { },
2318 new string[] { },
2319 "",
2320 new long[] { }));
2322 "Appears to work like 01010000, except is used for loops created by 00090100 (Goto)",
2323 new string[] { },
2324 new string[] { },
2325 "",
2326 new long[] { }));
2328 "Appears to control posture graphics.",
2329 new string[] { },
2330 new string[] { },
2331 "",
2332 new long[] { }));
2334 "Terminate all instances of a lingering graphical effect.",
2335 new string[] {"Graphic", "Undefined", "Undefined"},
2336 new string[]
2337 {
2338 "The file from which to call from/The graphical effect to call. Value1 = File#, Value2 = Graphic ID",
2339 "Undefined.", "Undefined"
2340 },
2341 "\\name(): File=\\unhex(\\half1(\\value(0))), Graphic ID=\\unhex(\\half2(\\value(0))), Undefined1=\\value(1), Undefined2=\\value(2)",
2342 new long[] {0, 3, 3}));
2344 "Appears to control posture graphics.",
2345 new string[] { },
2346 new string[] { },
2347 "",
2348 new long[] { }));
2350 "Returns to normal physics.",
2351 new string[] { },
2352 new string[] { },
2353 "",
2354 new long[] { }));
2356 "Does the same thing as Set Article Action but seems to work on articles that aren't attached to the character. (Used on Snake's downB)",
2357 new string[] {"Article ID", "SubAction"},
2358 new string[]
2359 {"ID of the article to be affected.", "The subaction you would like the article to execute."},
2360 "",
2361 new long[] {0, 0}));
2363 "Article Animation.",
2364 new string[] { },
2365 new string[] { },
2366 "",
2367 new long[] { }));
2369 "Generate a grabbing collision bubble with the specified parameters",
2370 new string[]
2371 {"ID", "Bone", "Size", "X offset", "Y Offset", "Z Offset", "Action", "Air/Ground", "Unknown"},
2372 new string[]
2373 {
2374 "ID of catch collision.", "The bone the grab is attached to.",
2375 "The size of the catch collision bubble.", "Transition relative to the currently attached bone.",
2376 "Transition relative to the currently attached bone.",
2377 "Transition relative to the currently attached bone.",
2378 "The Action ID that the foe executes if successfully grabbed.",
2379 "0 = grabs nothing, 1 = grabs grounded only, 2 = grabs aerial only, 3 = grabs aerial and grounded.",
2380 "???"
2381 },
2382 "",
2383 new long[] {0, 0, 1, 1, 1, 1, 0, 0, 0}));
2385 "Breaks out of the current loop?",
2386 new string[] { },
2387 new string[] { },
2388 "",
2389 new long[] { }));
2391 "Start an If block until an Else Or an EndIf is reached.",
2392 new string[] {"Requirement", "Variable", "Unknown"},
2393 new string[]
2394 {
2395 "The form of requirement used in evaluation of the event.",
2396 "The variable applied to the requirement.", "Undefined"
2397 },
2398 "If \\value(0): \\value(1); Unknown=\\value(2)",
2399 new long[] {6, 0, 0}));
2401 "Insert an Else If block inside of an If block.",
2402 new string[] {"Requirement"},
2403 new string[] {"The form of requirement used in evaluation of the event."},
2404 "Else If \\value(0):",
2405 new long[] {6}));
2407 "Change the current action upon the specified requirement being met. (the requirement does not have to be met at the time this ID is executed - it can be used anytime after execution.)",
2408 new string[] {"Action", "Requirement", "Variable", "Unknown"},
2409 new string[]
2410 {
2411 "The id of the action that the character will execute.",
2412 "The form of requirement used in evaluation of the event.",
2413 "The variable applied to the requirement.",
2414 "Used as a specification for the requirement when necessary (for example, if the requirement is \"button pressed\", this denotes which button)."
2415 },
2416 "\\name(): \\value(0): \\value(1); Unknown=\\value(2)",
2417 new long[] {0, 6, 5, 0}));
2419 "Used in the Primid file as alternatives to calling an AI procedure.",
2420 new string[] {"Undefined", "Undefined", "Undefined"},
2421 new string[]
2422 {
2423 "In the Primid file, seems to always equal 200.",
2424 "An action? (equals 7 when current action is not 7)",
2425 "In the Primid file, seems to always be Article Exists (15)."
2426 },
2427 "",
2428 new long[] {0, 0, 6}));
2430 "Additional Change Action Requirement Value",
2431 "Add an additional requirement to the preceeding Change Action statement.",
2432 new string[] {"Requirement", "Variable", "Undefined"},
2433 new string[]
2434 {
2435 "The form of requirement used in evaluation of the event.",
2436 "The variable applied to the requirement.", "Undefined"
2437 },
2438 "",
2439 new long[] {6, 5, 0}));
2441 "Used when the Blast Box detonates from a flame attack just before the change to the explosion action. Could be some sort of \"halt current action immediately\" or \"disable all possible statusID-based action changes\".",
2442 new string[] { },
2443 new string[] { },
2444 "",
2445 new long[] { }));
2447 "Used a few times in the Primid file.",
2448 new string[] {"Undefined"},
2449 new string[] {"Undefined"},
2450 "",
2451 new long[] {0}));
2453 "",
2454 new string[] {"Undefined", "Undefined"},
2455 new string[] {"Undefined.", "Undefined"},
2456 "",
2457 new long[] {0, 0}));
2459 "",
2460 new string[] {"Undefined"},
2461 new string[] {"Undefined"},
2462 "",
2463 new long[] {1}));
2465 "Used to increase the damage of the Giant Punch when not fully charged.",
2466 new string[] {"Id", "Source"},
2467 new string[]
2468 {
2469 "The ID of the hitbox to change the damage of.",
2470 "The variable to read to find out how much to change the damage."
2471 },
2472 "",
2473 new long[] {0, 5}));
2475 "The type of hitboxes used for enemies in the Subspace Emissary.",
2476 new string[]
2477 {
2478 "ID", "Undefined", "Bone", "Damage?", "Damage ramp?", "Angle", "Knockback growth?",
2479 "Knockback growth ramp?", "Weight-based knockback?", "WBK ramp?", "Base knockback?",
2480 "Base knockback ramp?", "Size?", "Size ramp?", "X Pos?", "Y Pos?", "Z Pos?", "Effect",
2481 "Trip chance?", "Freeze frames multiplier?", "SDI multiplier?", "Undefined", "Undefined",
2482 "Undefined", "Undefined", "Undefined", "Undefined", "Undefined", "Undefined", "Undefined",
2483 "Undefined", "Undefined", "Undefined", "Undefined", "Undefined", "Undefined", "Rehit rate?",
2484 "Undefined", "Undefined", "Undefined", "Undefined", "Undefined", "Undefined", "Undefined",
2485 "Undefined", "Undefined", "Difficulty level?"
2486 },
2487 new string[]
2488 {
2489 "Undefined.", "Undefined.", "Undefined.", "Undefined.", "Undefined.", "Undefined.", "Undefined.",
2490 "Undefined.", "Undefined.", "Undefined.", "Undefined.", "Undefined.", "Undefined.", "Undefined.",
2491 "Undefined.", "Undefined.", "Undefined.", "i.e. Electric (3), Flame (5), etc", "Undefined.",
2492 "Undefined.", "Undefined.", "Undefined.", "Undefined.", "Undefined.", "Undefined.",
2493 "Aside from effect, the only value to vary between Jyk types (for stage 040201 anyway).",
2494 "Undefined.", "Undefined.", "Undefined.", "Undefined.", "Undefined.", "Undefined.", "Undefined.",
2495 "Undefined.", "Undefined.", "Undefined.", "Undefined.", "Undefined.", "Undefined.", "Undefined.",
2496 "Undefined.", "Undefined.", "Undefined.", "Undefined.", "Undefined.", "Undefined.", "Undefined."
2497 },
2498 "",
2499 new long[]
2500 {
2501 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 3, 3, 0, 0, 0, 0, 3, 0, 0, 3, 0, 3,
2502 3, 3, 3, 0, 3, 3, 0, 3, 3, 3, 3, 3, 0, 5
2503 }));
2505 "Used a single time in the Primid file.",
2506 new string[]
2507 {
2508 "Undefined", "Undefined", "Undefined", "Size?", "Undefined", "Undefined", "Undefined", "Undefined",
2509 "Undefined", "Undefined", "Undefined", "Undefined", "Undefined", "Undefined", "Undefined"
2510 },
2511 new string[]
2512 {
2513 "Undefined.", "Undefined.", "Undefined.", "Undefined.", "Undefined.", "Undefined.", "Undefined.",
2514 "Undefined.", "Undefined.", "Undefined.", "Undefined.", "Undefined.", "Undefined.", "Undefined.",
2515 "Undefined."
2516 },
2517 "",
2518 new long[] {0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1}));
2520 "When set to 1, horizontal speed and decay rate are reset back to 0.",
2521 new string[] { },
2522 new string[] { },
2523 "\\name(): \\unhex(\\value(0))",
2524 new long[] { }));
2526 "Undefined.",
2527 new string[] { },
2528 new string[] { },
2529 "\\name(): \\unhex(\\value(0))",
2530 new long[] { }));
2532 "Controls the movement velocity of the object.",
2533 new string[] {"Horizontal Velocity", "Vertical Velocity"},
2534 new string[] {"The speed of the object moving left/right.", "The speed of the object moving up/down."},
2535 "",
2536 new long[] {1, 1}));
2538 "Does the same thing as Set Article Action and Set Article Action 2 but seems to work on articles that are only initially attached to the character. (Used on Lucario's Aura Sphere)",
2539 new string[] {"Article ID", "Action"},
2540 new string[] {"ID of the article to be affected.", "The action you would like the article to execute."},
2541 "",
2542 new long[] {0, 0}));
2544 "Generate a prop effect with the specified parameters.",
2545 new string[] { },
2546 new string[] { },
2547 "",
2548 new long[] { }));
2550 "Seems to be used whenever a detached article needs to change its action...",
2551 new string[] {"Article ID"},
2552 new string[] {"ID of the article to be affected."},
2553 "",
2554 new long[] {0}));
2556 "",
2557 new string[] {"Undefined"},
2558 new string[] {"Undefined"},
2559 "",
2560 new long[] {0}));
2562 "Tint the screen to the specified color until terminated by 11180200 (End Screen Tint).",
2563 new string[] {"ID", "Transition Time", "Red", "Green", "Blue", "Alpha"},
2564 new string[]
2565 {
2566 "The ID of the screen tint.",
2567 "The time taken to transition from its current color to the specified color.", "The red value.",
2568 "The green value.", "The blue value.", "The transperency."
2569 },
2570 "\\name(): ID=\\value(0), TransitionTime=\\value(1), RGBA=(\\value(2), \\value(3), \\value(4), \\value(5))",
2571 new long[] {0, 0, 0, 0, 0, 0}));
2573 "Divide a specified value with a float variable.",
2574 new string[] {"Value", "Variable"},
2575 new string[]
2576 {
2577 "The floating point value to divide with the specified variable.",
2578 "The Float type variable to access."
2579 },
2580 "\\name(): \\value(1) /= \\unhex(\\value(0))",
2581 new long[] {1, 5}));
2583 "Used in the Goomba file in places where Req[0x11] is true.",
2584 new string[] { },
2585 new string[] { },
2586 "",
2587 new long[] { }));
2589 "",
2590 new string[] {"Target Procedure"},
2591 new string[] {"Undefined"},
2592 "",
2593 new long[] {4}));
2595 "Used at the start of Withdraw; might have something to do with Squirtle's immunity to damage during the move.",
2596 new string[] {"Undefined"},
2597 new string[] {"Undefined"},
2598 "",
2599 new long[] {3}));
2601 "Cause the character to receive the closest item in range.",
2602 new string[] {"Undefined", "Undefined", "Undefined", "Undefined"},
2603 new string[] {"Undefined.", "Undefined.", "Undefined.", "Undefined"},
2604 "",
2605 new long[] {0, 0, 0, 0}));
2607 "Used with a parameter of -1 for a few explosives just before they go off (possibly to remove team allegiance and therefore hit the user).",
2608 new string[] {"Undefined"},
2609 new string[] {"Undefined"},
2610 "",
2611 new long[] {0}));
2613 "",
2614 new string[] {"Undefined"},
2615 new string[] {"Undefined"},
2616 "",
2617 new long[] {0}));
2619 "Undefined",
2620 new string[] { },
2621 new string[] { },
2622 "",
2623 new long[] { }));
2625 "Something with rotation on item spawning.",
2626 new string[] {"Undefined", "Undefined"},
2627 new string[] {"Undefined.", "Undefined"},
2628 "",
2629 new long[] {1, 1}));
2631 "Sets how many frames an item has to live? (Also used in enemy files.)",
2632 new string[] {"Lifetime (frames)?"},
2633 new string[] {"Undefined"},
2634 "",
2635 new long[] {0}));
2637 "Unknown. Appears to be another timer.",
2638 new string[] {"Undefined"},
2639 new string[] {"Undefined"},
2640 "",
2641 new long[] {0}));
2643 "Unknown. Appears to affect float variables. Used twice in the Jyk file.",
2644 new string[] {"Undefined", "Undefined"},
2645 new string[] {"Undefined.", "Undefined"},
2646 "",
2647 new long[] {5, 5}));
2649 "Unknown. Appears to affect float variables.",
2650 new string[] {"Undefined", "Undefined"},
2651 new string[] {"Undefined.", "Undefined"},
2652 "",
2653 new long[] {5, 5}));
2655 "",
2656 new string[] {"Undefined", "Undefined"},
2657 new string[] {"Undefined.", "Undefined"},
2658 "",
2659 new long[] {5, 0}));
2661 "Generates a random number from 0 to [number of arguments-2], with the arguments starting at 1 being based on ratios.",
2662 new string[]
2663 {
2664 "Result Variable", "Ratio 1", "Ratio 2", "Ratio 3", "Ratio 4", "Ratio 5", "Ratio 6", "Ratio 7",
2665 "Ratio 8"
2666 },
2667 new string[]
2668 {
2669 "The result of the function is put in this variable.", "Undefined.", "Undefined.", "Undefined.",
2670 "Undefined.", "Undefined.", "Undefined.", "Undefined.", "Undefined"
2671 },
2672 "",
2673 new long[] {5, 1, 1, 1, 1, 1, 1, 1, 1}));
2675 "Has something to do with sounds?",
2676 new string[] {"Undefined", "Undefined"},
2677 new string[] {"Undefined.", "Undefined"},
2678 "",
2679 new long[] {0, 0}));
2681 "Used in the Dragoon.",
2682 new string[] {"Duration?"},
2683 new string[] {"Undefined"},
2684 "",
2685 new long[] {0}));
2687 "Used in the Dragoon.",
2688 new string[] { },
2689 new string[] { },
2690 "",
2691 new long[] { }));
2693 "Unknown. Used in the bumper item at least.",
2694 new string[] {"Undefined"},
2695 new string[] {"Undefined"},
2696 "",
2697 new long[] {0}));
2699 "Unknown. In charizard's sideB subaction. If you nop it, he will not make rock shards or play the rock break sfx. wtf.",
2700 new string[] { },
2701 new string[] { },
2702 "",
2703 new long[] { }));
2705 "",
2706 new string[] {"Undefined", "Undefined"},
2707 new string[] {"Undefined.", "Undefined"},
2708 "",
2709 new long[] {0, 0}));
2711 "Unknown. Used five times in the Jyk file with the values increasing somewhat constantly for each one (difficulty-related?).",
2712 new string[] {"Undefined", "Undefined", "Undefined", "Undefined"},
2713 new string[] {"Undefined.", "Undefined.", "Undefined.", "Undefined"},
2714 "",
2715 new long[] {0, 0, 1, 0}));
2717 "Unknown. Used in action C of bumper at least.",
2718 new string[] {"Undefined"},
2719 new string[] {"Undefined"},
2720 "",
2721 new long[] {0}));
2723 "",
2724 new string[] {"Undefined"},
2725 new string[] {"Undefined"},
2726 "",
2727 new long[] {0}));
2729 "",
2730 new string[] {"Undefined", "Undefined"},
2731 new string[] {"Undefined.", "Undefined"},
2732 "",
2733 new long[] {0, 0}));
2735 "",
2736 new string[] {"Undefined", "Undefined"},
2737 new string[] {"Undefined.", "Undefined"},
2738 "",
2739 new long[] {0, 0}));
2741 "",
2742 new string[] {"Undefined", "Undefined"},
2743 new string[] {"Undefined.", "Undefined"},
2744 "",
2745 new long[] {0, 0}));
2747 "Unknown. Something with spawn rotation.",
2748 new string[] {"Undefined", "Undefined", "Undefined"},
2749 new string[] {"Undefined.", "Undefined.", "Undefined"},
2750 "",
2751 new long[] {1, 1, 1}));
2753 "Only known to be used in cases where \"Req[0x12], 1, \" is true.",
2754 new string[] {"Undefined"},
2755 new string[] {"Undefined"},
2756 "",
2757 new long[] {5}));
2759 "",
2760 new string[] {"Undefined"},
2761 new string[] {"Undefined"},
2762 "",
2763 new long[] {0}));
2765 "",
2766 new string[] {"Undefined", "Undefined"},
2767 new string[] {"Undefined.", "Undefined"},
2768 "",
2769 new long[] {0, 0}));
2771 "",
2772 new string[] {"Undefined", "Undefined", "Undefined", "Undefined"},
2773 new string[] {"Undefined.", "Undefined.", "Undefined.", "Undefined"},
2774 "",
2775 new long[] {0, 0, 0, 0}));
2777 "",
2778 new string[] {"Undefined"},
2779 new string[] {"Undefined"},
2780 "",
2781 new long[] {0}));
2783 "Undefined",
2784 new string[] { },
2785 new string[] { },
2786 "",
2787 new long[] { }));
2789 "Undefined",
2790 new string[] { },
2791 new string[] { },
2792 "",
2793 new long[] { }));
2795 "",
2796 new string[] {"Undefined", "Undefined", "Undefined"},
2797 new string[] {"Undefined.", "Undefined.", "Undefined."},
2798 "",
2799 new long[] {3, 5, 5}));
2801 "",
2802 new string[] {"Undefined", "Undefined"},
2803 new string[] {"Undefined.", "Undefined"},
2804 "",
2805 new long[] {0, 0}));
2807 "",
2808 new string[] { },
2809 new string[] { },
2810 "If \\value(0): \\value(1); Unknown=\\value(2), \\value(3), & \\value(4)",
2811 new long[] { }));
2813 "",
2814 new string[] { },
2815 new string[] { },
2816 "Or \\value(0): \\value(1); Unknown=\\value(2), \\value(3), & \\value(4)",
2817 new long[] { }));
2819 "",
2820 new string[] { },
2821 new string[] { },
2822 "Else If \\value(0): \\value(1); Unknown=\\value(2), \\value(3), & \\value(4)",
2823 new long[] { }));
2825 "Undefined.",
2826 new string[] {"Interrupt ID?", "Status ID?", "Requirement", "Variable", "Comparison", "Variable"},
2827 new string[]
2828 {
2829 "Undefined.", "Undefined.", "Undefined.", "First variable to compare.",
2830 "From 0 to 5: <, ≤, =, ≠, ≥, >.", "Second variable to compare."
2831 },
2832 "\\name(): Interrupt=\\unhex(\\value(0)), Status ID=\\unhex(\\value(1)), Requirement=\\value(2): \\value(3) \\cmpsign(\\value(4)) \\value(5)",
2833 new long[] { }));
2835 "Undefined.",
2836 new string[] {"Interrupt ID?", "Status ID?", "Requirement", "Value"},
2837 new string[] {"Undefined.", "Undefined.", "Undefined.", "Value applied to the requirement.",},
2838 "\\name(): Interrupt=\\unhex(\\value(0)), Status ID=\\unhex(\\value(1)), Requirement=\\value(2): \\value(3)",
2839 new long[] { }));
2840
2841
2842
2843 StreamReader sr = null;
2844 long idNumber = 0;
2845 string loc, id;
2846
2847
2848 loc = Application.StartupPath + "/MovesetData/Events.txt";
2849 if (File.Exists(loc))
2850 {
2851 using (sr = new StreamReader(loc))
2852 {
2853 for (int i = 0; !sr.EndOfStream; i++)
2854 {
2855 id = sr.ReadLine();
2856 idNumber = Convert.ToInt32(id, 16);
2857
2859 {
2861 }
2862
2867 sr.ReadLine();
2868 }
2869 }
2870 }
2871
2872
2873 loc = Application.StartupPath + "/MovesetData/Parameters.txt";
2874 if (File.Exists(loc))
2875 {
2876 using (sr = new StreamReader(loc))
2877 {
2878 for (int i = 0; !sr.EndOfStream; i++)
2879 {
2880 id = sr.ReadLine();
2881 idNumber = Convert.ToInt32(id, 16);
2882
2884 {
2886 }
2887
2888 for (int i2 = 0;; i2++)
2889 {
2890 string name = sr.ReadLine();
2891 if (name == null)
2892 {
2893 name = "";
2894 }
2895
2896 if (name != "")
2897 {
2902 }
2903 else
2904 {
2905 break;
2906 }
2907 }
2908 }
2909 }
2910 }
2911
2912
2913 loc = Application.StartupPath + "/MovesetData/EventSyntax.txt";
2914 if (File.Exists(loc))
2915 {
2916 using (sr = new StreamReader(loc))
2917 {
2918 for (int i = 0; !sr.EndOfStream; i++)
2919 {
2920 string syntax = "";
2921 id = sr.ReadLine();
2922 try
2923 {
2924 idNumber = Convert.ToInt32(id, 16);
2925 }
2926 catch
2927 {
2928 syntax = id;
2929 goto AddSyntax;
2930 }
2931
2932
2934
2935 syntax = sr.ReadLine();
2936
2938 {
2940 }
2941
2943
2944 AddSyntax:
2945 while (syntax != "" && syntax != null)
2946 {
2948 syntax = sr.ReadLine();
2949 }
2950 }
2951 }
2952 }
2953
2954 Dictionary<long, List<int>> list = new Dictionary<long, List<int>>();
2955 List<string> enums = new List<string>();
2956 loc = Application.StartupPath + "/MovesetData/Enums.txt";
2957 if (File.Exists(loc))
2958 {
2959 using (sr = new StreamReader(loc))
2960 {
2961 while (!sr.EndOfStream)
2962 {
2963 list = new Dictionary<long, List<int>>();
2964 enums = new List<string>();
2965 while (!string.IsNullOrEmpty(id = sr.ReadLine()))
2966 {
2967 idNumber = Convert.ToInt32(id, 16);
2968
2969 if (!list.ContainsKey(idNumber))
2970 {
2971 list.Add(idNumber, new List<int>());
2972 }
2973
2974 string p = null;
2975 while (!string.IsNullOrEmpty(p = sr.ReadLine()))
2976 {
2977 list[idNumber].Add(int.Parse(p));
2978 }
2979 }
2980
2981 string val = null;
2982 while (!string.IsNullOrEmpty(val = sr.ReadLine()))
2983 {
2984 enums.Add(val);
2985 }
2986
2987 foreach (long ev in list.Keys)
2988 {
2990 {
2992 foreach (int p in list[ev])
2993 {
2995 }
2996 }
2997 }
2998 }
2999 }
3000 }
3001
3002
3003 }
Dictionary< string, SectionParamInfo > Params
Definition: MoveDefNode.cs:3443