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; }
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); }
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; }
public void CopyTo( ItemAttributes destination ) { Copy( this, destination ); }
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 ); }
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 CopyTo(ItemAttributes destination) { Copy(this, destination); }