Esempio n. 1
0
        public ItemAttributes(byte value, IList <byte> bytes, ItemAttributes defaults)
        {
            Value = value;
            PA    = bytes[0];
            MA    = bytes[1];
            Speed = bytes[2];
            Move  = bytes[3];
            Jump  = bytes[4];

            PermanentStatuses = new Statuses(bytes.Sub(5, 9), defaults == null ? null : defaults.PermanentStatuses);
            StatusImmunity    = new Statuses(bytes.Sub(10, 14), defaults == null ? null : defaults.StatusImmunity);
            StartingStatuses  = new Statuses(bytes.Sub(15, 19), defaults == null ? null : defaults.StartingStatuses);

            Absorb = new Elements(bytes[20]);
            Cancel = new Elements(bytes[21]);
            Half   = new Elements(bytes[22]);
            Weak   = new Elements(bytes[23]);
            Strong = new Elements(bytes[24]);

            if (defaults != null)
            {
                Default        = defaults;
                Absorb.Default = Default.Absorb;
                Cancel.Default = Default.Cancel;
                Half.Default   = Default.Half;
                Weak.Default   = Default.Weak;
                Strong.Default = Default.Strong;
            }
        }
        public void UpdateView( AllItemAttributes attributes )
        {
            if ( ourContext != FFTPatch.Context )
            {
                ourContext = FFTPatch.Context;
                ClipBoardAttributes = null;
                offsetListBox.ContextMenu.MenuItems[1].Enabled = false;
            }

            offsetListBox.SelectedIndexChanged -= offsetListBox_SelectedIndexChanged;
            offsetListBox.DataSource = attributes.ItemAttributes;
            offsetListBox.SelectedIndexChanged += offsetListBox_SelectedIndexChanged;
            offsetListBox.SelectedIndex = 0;
            itemAttributeEditor.ItemAttributes = offsetListBox.SelectedItem as ItemAttributes;
        }
Esempio n. 3
0
 public static void Copy(ItemAttributes source, ItemAttributes destination)
 {
     destination.PA    = source.PA;
     destination.MA    = source.MA;
     destination.Speed = source.Speed;
     destination.Move  = source.Move;
     destination.Jump  = source.Jump;
     source.PermanentStatuses.CopyTo(destination.PermanentStatuses);
     source.StatusImmunity.CopyTo(destination.StatusImmunity);
     source.StartingStatuses.CopyTo(destination.StartingStatuses);
     source.Absorb.CopyTo(destination.Absorb);
     source.Cancel.CopyTo(destination.Cancel);
     source.Half.CopyTo(destination.Half);
     source.Weak.CopyTo(destination.Weak);
     source.Strong.CopyTo(destination.Strong);
 }
Esempio n. 4
0
        private static void SaveZippedPatch(string path, Context destinationContext)
        {
            using (ZipOutputStream stream = new ZipOutputStream(File.Open(path, FileMode.Create, FileAccess.ReadWrite)))
            {
                const string fileVersion = "1.0";
                bool         psp         = destinationContext == Context.US_PSP;

                WriteFileToZip(stream, "version", Encoding.UTF8.GetBytes(fileVersion));
                WriteFileToZip(stream, "type", Encoding.UTF8.GetBytes(destinationContext.ToString()));

                WriteFileToZip(stream, elementNames[ElementName.Abilities], Abilities.ToByteArray(destinationContext));
                WriteFileToZip(stream, elementNames[ElementName.AbilityAnimations], AbilityAnimations.ToByteArray());
                WriteFileToZip(stream, elementNames[ElementName.AbilityEffects], Abilities.ToEffectsByteArray());
                WriteFileToZip(stream, elementNames[ElementName.ItemAbilityEffects], Abilities.ToItemEffectsByteArray());
                WriteFileToZip(stream, elementNames[ElementName.ReactionAbilityEffects], Abilities.ToReactionEffectsByteArray());
                WriteFileToZip(stream, elementNames[ElementName.Items], Items.ToFirstByteArray());
                WriteFileToZip(stream, elementNames[ElementName.ItemAttributes], ItemAttributes.ToFirstByteArray());
                if (psp && Context == Context.US_PSP)
                {
                    WriteFileToZip(stream, elementNames[ElementName.PSPItems], Items.ToSecondByteArray());
                    WriteFileToZip(stream, elementNames[ElementName.PSPItemAttributes], ItemAttributes.ToSecondByteArray());
                    WriteFileToZip(stream, elementNames[ElementName.ENTD5], ENTDs.PSPEventsToByteArray());
                }
                WriteFileToZip(stream, elementNames[ElementName.Jobs], Jobs.ToByteArray(destinationContext));
                WriteFileToZip(stream, elementNames[ElementName.JobLevels], JobLevels.ToByteArray(destinationContext));
                WriteFileToZip(stream, elementNames[ElementName.MonsterSkills], MonsterSkills.ToByteArray(destinationContext));
                WriteFileToZip(stream, elementNames[ElementName.SkillSets], SkillSets.ToByteArray(destinationContext));
                WriteFileToZip(stream, elementNames[ElementName.ActionMenus], ActionMenus.ToByteArray(destinationContext));
                WriteFileToZip(stream, elementNames[ElementName.StatusAttributes], StatusAttributes.ToByteArray(destinationContext));
                WriteFileToZip(stream, elementNames[ElementName.InflictStatuses], InflictStatuses.ToByteArray());
                WriteFileToZip(stream, elementNames[ElementName.Poaching], PoachProbabilities.ToByteArray(destinationContext));
                WriteFileToZip(stream, elementNames[ElementName.ENTD1], ENTDs.ENTDs[0].ToByteArray());
                WriteFileToZip(stream, elementNames[ElementName.ENTD2], ENTDs.ENTDs[1].ToByteArray());
                WriteFileToZip(stream, elementNames[ElementName.ENTD3], ENTDs.ENTDs[2].ToByteArray());
                WriteFileToZip(stream, elementNames[ElementName.ENTD4], ENTDs.ENTDs[3].ToByteArray());
                WriteFileToZip(stream, elementNames[ElementName.MoveFindItems], MoveFind.ToByteArray());
                WriteFileToZip(stream, elementNames[ElementName.StoreInventories], StoreInventories.ToByteArray());
                WriteFileToZip(stream, elementNames[ElementName.Propositions], Propositions.ToByteArray());
                if (!AllPropositions.CanFixBuggyLevelBonuses(destinationContext))
                {
                    WriteFileToZip(stream, "BuggyPropositions", new byte[0]);
                }
            }
        }
 private void CopyClickEventHandler( object sender, System.EventArgs args )
 {
     offsetListBox.ContextMenu.MenuItems[1].Enabled = true;
     ClipBoardAttributes = offsetListBox.SelectedItem as ItemAttributes;
 }
Esempio n. 6
0
 public void CopyTo( ItemAttributes destination )
 {
     Copy( this, destination );
 }
Esempio n. 7
0
 public static void Copy( ItemAttributes source, ItemAttributes destination )
 {
     destination.PA = source.PA;
     destination.MA = source.MA;
     destination.Speed = source.Speed;
     destination.Move = source.Move;
     destination.Jump = source.Jump;
     source.PermanentStatuses.CopyTo( destination.PermanentStatuses );
     source.StatusImmunity.CopyTo( destination.StatusImmunity );
     source.StartingStatuses.CopyTo( destination.StartingStatuses );
     source.Absorb.CopyTo( destination.Absorb );
     source.Cancel.CopyTo( destination.Cancel );
     source.Half.CopyTo( destination.Half );
     source.Weak.CopyTo( destination.Weak );
     source.Strong.CopyTo( destination.Strong );
 }
Esempio n. 8
0
        public ItemAttributes( byte value, IList<byte> bytes, ItemAttributes defaults )
        {
            Value = value;
            PA = bytes[0];
            MA = bytes[1];
            Speed = bytes[2];
            Move = bytes[3];
            Jump = bytes[4];

            PermanentStatuses = new Statuses( bytes.Sub( 5, 9 ), defaults == null ? null : defaults.PermanentStatuses );
            StatusImmunity = new Statuses( bytes.Sub( 10, 14 ), defaults == null ? null : defaults.StatusImmunity );
            StartingStatuses = new Statuses( bytes.Sub( 15, 19 ), defaults == null ? null : defaults.StartingStatuses );

            Absorb = new Elements( bytes[20] );
            Cancel = new Elements( bytes[21] );
            Half = new Elements( bytes[22] );
            Weak = new Elements( bytes[23] );
            Strong = new Elements( bytes[24] );

            if( defaults != null )
            {
                Default = defaults;
                Absorb.Default = Default.Absorb;
                Cancel.Default = Default.Cancel;
                Half.Default = Default.Half;
                Weak.Default = Default.Weak;
                Strong.Default = Default.Strong;
            }
        }
Esempio n. 9
0
 public void CopyTo(ItemAttributes destination)
 {
     Copy(this, destination);
 }