public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); switch ( version ) { case 2: { m_Level = reader.ReadInt(); goto case 1; } case 1: { m_TargetMap = reader.ReadMap(); break; } case 0: { m_TargetMap = Map.Trammel; break; } } if ( version < 2 ) m_Level = GetRandomLevel(); }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); m_Level = reader.ReadInt(); m_TargetMap = reader.ReadMap(); }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); m_Point = reader.ReadPoint3D(); m_Map = reader.ReadMap(); }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); /*int version = */ reader.ReadInt(); m_MapDest = reader.ReadMap(); m_LocDest = reader.ReadPoint3D(); }
private void Deserialize(GenericReader reader) { int version = reader.ReadInt(); switch (version) { case 0: { _Map = reader.ReadMap(); _Location = reader.ReadPoint3D(); break; } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 0: ToLocation = reader.ReadPoint3D(); ToMap = reader.ReadMap(); break; } }
public void Load( GenericReader reader ) { int version = reader.ReadInt(); if ( version >= 1 ) { c_Hue = reader.ReadInt(); c_Name = reader.ReadString(); } c_TypeString = reader.ReadString(); c_ItemID = reader.ReadInt(); c_Location = reader.ReadPoint3D(); c_Map = reader.ReadMap(); }
public PeerlessInstance( GenericReader reader ) { m_Owner = reader.ReadItem<PeerlessPlatform>(); m_Light = reader.ReadItem(); m_Map = reader.ReadMap(); m_EntranceLocation = reader.ReadPoint3D(); m_BossSpawnLocation = reader.ReadPoint3D(); m_RegionBounds = reader.ReadRect2D(); Mobile boss = reader.ReadMobile(); if ( boss != null ) boss.Delete(); Initialize(); }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadEncodedInt(); Point = reader.ReadPoint2D(); Range = reader.ReadInt(); Map = reader.ReadMap(); int count = reader.ReadInt(); Messages = new string[ count ]; for ( int i = 0; i < count; i++ ) Messages[i] = reader.ReadString(); OnMessage = reader.ReadInt(); }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); switch ( version ) { case 0: { m_DestLoc = reader.ReadPoint3D(); m_DestMap = reader.ReadMap(); m_Charges = reader.ReadInt(); break; } } }
// Legacy... binary serialization only used in v1.00, deserialization preserved to migrate data. public static SR_Rune Deserialize(GenericReader reader, int version) { SR_Rune rune = null; string name = reader.ReadString(); bool isRunebook = reader.ReadBool(); Map targetMap = reader.ReadMap(); Point3D targetLoc = reader.ReadPoint3D(); if (isRunebook) rune = new SR_Rune(name, isRunebook); else rune = new SR_Rune(name, targetMap, targetLoc); int count = reader.ReadInt(); for (int i = 0; i < count; i++) rune.AddRune(SR_Rune.Deserialize(reader, version)); return rune; }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); switch ( version ) { case 1: { m_CompletedBy = reader.ReadMobile(); goto case 0; } case 0: { m_Level = (int)reader.ReadInt(); m_Completed = reader.ReadBool(); m_Decoder = reader.ReadMobile(); m_Map = reader.ReadMap(); m_Location = reader.ReadPoint2D(); if ( version == 0 && m_Completed ) m_CompletedBy = m_Decoder; break; } } if ( Core.AOS && m_Decoder != null && LootType == LootType.Regular) LootType = LootType.Blessed; }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); switch ( version ) { case 0: { m_PlotLocation = reader.ReadPoint3D(); m_Facet = reader.ReadMap(); m_AwardedTo = reader.ReadMobile(); break; } } }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); _Level = reader.ReadInt(); _MessageIndex = reader.ReadInt(); _TargetMap = reader.ReadMap(); _TargetLocation = reader.ReadPoint3D(); }
public EGEntry(GenericReader reader) { m_Location = reader.ReadPoint3D(); m_Map = reader.ReadMap(); m_Description = reader.ReadString(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 1: { goto case 0; } case 0: { m_Level = (int)reader.ReadInt(); m_Map = reader.ReadMap(); m_Location = reader.ReadPoint2D(); // if ( version == 0 && m_Completed ) // m_CompletedBy = m_Decoder; break; } } }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); switch ( version ) { case 0: { int count = reader.ReadEncodedInt(); m_Entries = new ArrayList( count ); for ( int i = 0; i < count; ++i ) { Mobile mob = reader.ReadMobile(); Point3D loc = reader.ReadPoint3D(); Map map = reader.ReadMap(); m_Entries.Add( new ReturnEntry( mob, loc, map ) ); } break; } } }
public Arena( GenericReader reader ) { int version = reader.ReadEncodedInt(); switch ( version ) { case 7: { m_IsGuarded = reader.ReadBool(); goto case 6; } case 6: { m_Ladder = reader.ReadItem() as LadderController; goto case 5; } case 5: { m_Tournament = reader.ReadItem() as TournamentController; m_Announcer = reader.ReadMobile(); goto case 4; } case 4: { m_Name = reader.ReadString(); goto case 3; } case 3: { m_Zone = reader.ReadRect2D(); goto case 2; } case 2: { m_GateIn = reader.ReadPoint3D(); m_GateOut = reader.ReadPoint3D(); m_Teleporter = reader.ReadItem(); goto case 1; } case 1: { m_Players = reader.ReadStrongMobileList(); goto case 0; } case 0: { m_Facet = reader.ReadMap(); m_Bounds = reader.ReadRect2D(); m_Outside = reader.ReadPoint3D(); m_Wall = reader.ReadPoint3D(); if ( version == 0 ) { reader.ReadBool(); m_Players = new List<Mobile>(); } m_Active = reader.ReadBool(); m_Points = new ArenaStartPoints( reader ); if ( m_Active ) { m_Arenas.Add( this ); m_Arenas.Sort(); } break; } } if ( m_Zone.Start != Point2D.Zero && m_Zone.End != Point2D.Zero && m_Facet != null ) m_Region = new SafeZone( m_Zone, m_Outside, m_Facet, m_IsGuarded ); if ( IsOccupied ) Timer.DelayCall( TimeSpan.FromSeconds( 2.0 ), new TimerCallback( Evict ) ); if ( m_Tournament != null ) Timer.DelayCall( TimeSpan.Zero, new TimerCallback( AttachToTournament_Sandbox ) ); }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); switch ( version ) { case 1: { m_Stone = reader.ReadItem<HouseRaffleStone>(); goto case 0; } case 0: { m_PlotLocation = reader.ReadPoint3D(); m_Facet = reader.ReadMap(); m_AwardedTo = reader.ReadMobile(); break; } } }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); switch( version ) { case 6: { _minZ = reader.ReadInt(); _maxZ = reader.ReadInt(); goto case 5; } case 5: { m_EditAccessLevel = (AccessLevel)reader.ReadInt(); goto case 4; } case 4: { m_RegionArea = ReadRect3DArray( reader ); m_Flags = (RegionFlag)reader.ReadInt(); m_RestrictedSpells = ReadBitArray( reader ); m_RestrictedSkills = ReadBitArray( reader ); m_Active = reader.ReadBool(); m_RegionName = reader.ReadString(); m_RegionPriority = reader.ReadInt(); m_Music = (MusicName)reader.ReadInt(); m_PlayerLogoutDelay = reader.ReadTimeSpan(); m_LightLevel = reader.ReadInt(); if( version <= 4 ) { reader.ReadMap(); reader.ReadPoint3D(); reader.ReadMap(); reader.ReadPoint3D(); } break; } case 3: //pre-RunUO 2.0 { m_LightLevel = reader.ReadInt(); goto case 2; } case 2: { m_Music = (MusicName)reader.ReadInt(); goto case 1; } case 1: { List<Rectangle2D> rects2d = ReadRect2DArray( reader ); foreach( Rectangle2D rect in rects2d ) { Rectangle3D newrect = Server.Region.ConvertTo3D( rect ); DoChooseArea( null, this.Map, newrect.Start, newrect.End, this ); } m_RegionPriority = reader.ReadInt(); m_PlayerLogoutDelay = reader.ReadTimeSpan(); m_RestrictedSpells = ReadBitArray( reader ); m_RestrictedSkills = ReadBitArray( reader ); m_Flags = (RegionFlag)reader.ReadInt(); m_RegionName = reader.ReadString(); break; } case 0: { List<Rectangle2D> rects2d = ReadRect2DArray( reader ); foreach( Rectangle2D rect in rects2d ) { Rectangle3D newrect = Server.Region.ConvertTo3D( rect ); DoChooseArea( null, this.Map, newrect.Start, newrect.End, this ); } m_RestrictedSpells = ReadBitArray( reader ); m_RestrictedSkills = ReadBitArray( reader ); m_Flags = (RegionFlag)reader.ReadInt(); m_RegionName = reader.ReadString(); break; } } m_AllControls.Add( this ); if( RegionNameTaken( m_RegionName ) ) m_RegionName = FindNewName( m_RegionName ); UpdateRegion(); }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); m_DestLoc = reader.ReadPoint3D(); m_DestMap = reader.ReadMap(); m_AllowCreatures = reader.ReadBool(); m_TelePets = reader.ReadBool(); }
public static bool Deserialize( GenericReader reader ) { bool success = false; Map map = null; Point3D location = new Point3D(); MegaSpawner megaSpawner = new MegaSpawner( true ); try { int version = reader.ReadInt(); if ( version >= 1 ) { location = reader.ReadPoint3D(); map = reader.ReadMap(); megaSpawner.Active = reader.ReadBool(); megaSpawner.Imported = reader.ReadString(); megaSpawner.ImportVersion = reader.ReadString(); megaSpawner.ContainerSpawn = (Container) reader.ReadItem(); megaSpawner.Workspace = reader.ReadBool(); int count = reader.ReadInt(); for ( int i = 0; i < count; i++ ) megaSpawner.EntryList.Add( reader.ReadString() ); for ( int i = 0; i < count; i++ ) megaSpawner.SpawnRangeList.Add( reader.ReadInt() ); for ( int i = 0; i < count; i++ ) megaSpawner.WalkRangeList.Add( reader.ReadInt() ); for ( int i = 0; i < count; i++ ) { int amount = reader.ReadInt(); if ( amount == 0 ) amount = 1; megaSpawner.AmountList.Add( amount ); } for ( int i = 0; i < count; i++ ) megaSpawner.MinDelayList.Add( reader.ReadInt() ); for ( int i = 0; i < count; i++ ) megaSpawner.MaxDelayList.Add( reader.ReadInt() ); for ( int i = 0; i < count; i++ ) megaSpawner.SpawnTypeList.Add( reader.ReadInt() ); for ( int i = 0; i < count; i++ ) megaSpawner.ActivatedList.Add( reader.ReadBool() ); for ( int i = 0; i < count; i++ ) megaSpawner.EventRangeList.Add( reader.ReadInt() ); for ( int i = 0; i < count; i++ ) megaSpawner.EventKeywordList.Add( reader.ReadString() ); for ( int i = 0; i < count; i++ ) megaSpawner.KeywordCaseSensitiveList.Add( reader.ReadBool() ); for ( int i = 0; i < count; i++ ) megaSpawner.TriggerEventNowList.Add( reader.ReadBool() ); for ( int i = 0; i < count; i++ ) megaSpawner.EventAmbushList.Add( reader.ReadBool() ); for ( int i = 0; i < count; i++ ) megaSpawner.BeginTimeBasedList.Add( reader.ReadInt() ); for ( int i = 0; i < count; i++ ) megaSpawner.EndTimeBasedList.Add( reader.ReadInt() ); for ( int i = 0; i < count; i++ ) megaSpawner.GroupSpawnList.Add( reader.ReadBool() ); for ( int i = 0; i < count; i++ ) megaSpawner.MinStackAmountList.Add( reader.ReadInt() ); for ( int i = 0; i < count; i++ ) megaSpawner.MaxStackAmountList.Add( reader.ReadInt() ); for ( int i = 0; i < count; i++ ) megaSpawner.MovableList.Add( reader.ReadBool() ); if ( version >= 2 ) { for ( int i = 0; i < count; i++ ) megaSpawner.MinDespawnList.Add( reader.ReadInt() ); for ( int i = 0; i < count; i++ ) megaSpawner.MaxDespawnList.Add( reader.ReadInt() ); for ( int i = 0; i < count; i++ ) megaSpawner.DespawnList.Add( reader.ReadBool() ); for ( int i = 0; i < count; i++ ) megaSpawner.DespawnGroupList.Add( reader.ReadBool() ); for ( int i = 0; i < count; i++ ) megaSpawner.DespawnTimeExpireList.Add( reader.ReadBool() ); } else { for ( int i = 0; i < count; i++ ) megaSpawner.MinDespawnList.Add( 1800 ); for ( int i = 0; i < count; i++ ) megaSpawner.MaxDespawnList.Add( 3600 ); for ( int i = 0; i < count; i++ ) megaSpawner.DespawnList.Add( (bool) false ); for ( int i = 0; i < count; i++ ) megaSpawner.DespawnGroupList.Add( (bool) false ); for ( int i = 0; i < count; i++ ) megaSpawner.DespawnTimeExpireList.Add( (bool) true ); } int settingsCount = reader.ReadInt(); if ( version >= 3 ) { for ( int i = 0; i < settingsCount; i++ ) { ArrayList List = new ArrayList(); Setting setting = (Setting) reader.ReadInt(); List.Add( setting ); switch ( setting ) { case Setting.OverrideIndividualEntries: { List.Add( reader.ReadInt() ); List.Add( reader.ReadInt() ); List.Add( reader.ReadInt() ); List.Add( reader.ReadInt() ); List.Add( reader.ReadInt() ); List.Add( reader.ReadBool() ); List.Add( reader.ReadBool() ); List.Add( (SpawnType) reader.ReadInt() ); List.Add( reader.ReadString() ); List.Add( reader.ReadBool() ); List.Add( reader.ReadInt() ); List.Add( reader.ReadInt() ); List.Add( reader.ReadInt() ); List.Add( reader.ReadInt() ); List.Add( reader.ReadInt() ); List.Add( reader.ReadInt() ); List.Add( reader.ReadInt() ); List.Add( reader.ReadBool() ); List.Add( reader.ReadBool() ); List.Add( reader.ReadBool() ); break; } case Setting.AddItem: { List.Add( reader.ReadString() ); List.Add( reader.ReadInt() ); List.Add( reader.ReadString() ); List.Add( reader.ReadInt() ); List.Add( reader.ReadInt() ); break; } case Setting.AddContainer: { List.Add( reader.ReadString() ); List.Add( reader.ReadInt() ); List.Add( reader.ReadString() ); List.Add( reader.ReadInt() ); List.Add( reader.ReadInt() ); int settingCount = reader.ReadInt(); for ( int j = 6; j < settingCount; j++ ) { ArrayList ItemsList = new ArrayList(); ItemsList.Add( reader.ReadString() ); ItemsList.Add( reader.ReadInt() ); ItemsList.Add( reader.ReadInt() ); List.Add( ItemsList ); } break; } } megaSpawner.SettingsList.Add( List ); } } else { for ( int i = 0; i < settingsCount; i++ ) megaSpawner.SettingsList.Add( reader.ReadString() ); megaSpawner.ConvertOldSettings(); } } if ( megaSpawner.Workspace ) { megaSpawner.Delete(); } else { megaSpawner.MoveToWorld( location, map ); megaSpawner.Start(); if ( megaSpawner.Imported != "" ) MC.FileImportAdd( megaSpawner.Imported, megaSpawner.ImportVersion ); megaSpawner.CompileSettings(); megaSpawner.CheckEntryErrors(); megaSpawner.SettingsList.Sort( new MC.SettingsSorter() ); if ( megaSpawner.OverrideIndividualEntries ) { for ( int i = 0; i < megaSpawner.OverrideAmount; i++ ) { megaSpawner.OverrideRespawnEntryList.Add( "" ); megaSpawner.OverrideRespawnTimeList.Add( 0 ); megaSpawner.OverrideSpawnCounterList.Add( DateTime.Now ); megaSpawner.OverrideSpawnTimeList.Add( 0 ); megaSpawner.OverrideDespawnTimeList.Add( 0 ); } } else { for ( int i = 0; i < megaSpawner.EntryList.Count; i++ ) { ArrayList respawnEntryList = new ArrayList(); ArrayList respawnTimeList = new ArrayList(); ArrayList spawnCounterList = new ArrayList(); ArrayList spawnTimeList = new ArrayList(); ArrayList respawnOnSaveList = new ArrayList(); ArrayList despawnTimeList = new ArrayList(); for ( int j = 0; j < (int) megaSpawner.AmountList[i]; j++ ) { respawnEntryList.Add( (string) megaSpawner.EntryList[i] ); respawnTimeList.Add( 0 ); spawnCounterList.Add( DateTime.Now ); spawnTimeList.Add( 0 ); respawnOnSaveList.Add( (bool) false ); despawnTimeList.Add( 0 ); } megaSpawner.RespawnEntryList.Add( respawnEntryList ); megaSpawner.RespawnTimeList.Add( respawnTimeList ); megaSpawner.SpawnCounterList.Add( spawnCounterList ); megaSpawner.SpawnTimeList.Add( spawnTimeList ); megaSpawner.RespawnOnSaveList.Add( respawnOnSaveList ); megaSpawner.DespawnTimeList.Add( despawnTimeList ); megaSpawner.SpawnedEntries.Add( new ArrayList() ); megaSpawner.LastMovedList.Add( new ArrayList() ); } } megaSpawner.Respawn(); } success = true; } catch { if ( megaSpawner != null ) megaSpawner.Delete(); } return success; }
public virtual void Deserialize( GenericReader reader ) { int version = reader.ReadInt(); SetLastMoved(); switch ( version ) { case 7: case 6: { SaveFlag flags = (SaveFlag)reader.ReadInt(); if ( version < 7 ) { LastMoved = reader.ReadDeltaTime(); } else { int minutes = reader.ReadEncodedInt(); try{ LastMoved = Core.Now - TimeSpan.FromMinutes( minutes ); } catch{ LastMoved = Core.Now; } } if ( GetSaveFlag( flags, SaveFlag.Direction ) ) m_Direction = (Direction)reader.ReadByte(); if ( GetSaveFlag( flags, SaveFlag.Bounce ) ) m_Bounce = BounceInfo.Deserialize( reader ); if ( GetSaveFlag( flags, SaveFlag.LootType ) ) m_LootType = (LootType)reader.ReadByte(); int x = 0, y = 0, z = 0; if ( GetSaveFlag( flags, SaveFlag.LocationFull ) ) { x = reader.ReadEncodedInt(); y = reader.ReadEncodedInt(); z = reader.ReadEncodedInt(); } else { if ( GetSaveFlag( flags, SaveFlag.LocationByteXY ) ) { x = reader.ReadByte(); y = reader.ReadByte(); } else if ( GetSaveFlag( flags, SaveFlag.LocationShortXY ) ) { x = reader.ReadShort(); y = reader.ReadShort(); } if ( GetSaveFlag( flags, SaveFlag.LocationSByteZ ) ) z = reader.ReadSByte(); } m_Location = new Point3D( x, y, z ); if ( GetSaveFlag( flags, SaveFlag.ItemID ) ) m_ItemID = reader.ReadEncodedInt(); if ( GetSaveFlag( flags, SaveFlag.Hue ) ) m_Hue = reader.ReadEncodedInt(); if ( GetSaveFlag( flags, SaveFlag.Amount ) ) m_Amount = reader.ReadEncodedInt(); else m_Amount = 1; if ( GetSaveFlag( flags, SaveFlag.Layer ) ) m_Layer = (Layer)reader.ReadByte(); if ( GetSaveFlag( flags, SaveFlag.Name ) ) m_Name = string.Intern(reader.ReadString()); if ( GetSaveFlag( flags, SaveFlag.Parent ) ) { Serial parent = reader.ReadInt(); if ( parent.IsMobile ) m_Parent = World.FindMobile( parent ); else if ( parent.IsItem ) m_Parent = World.FindItem( parent ); else m_Parent = null; if ( m_Parent == null && (parent.IsMobile || parent.IsItem) ) Delete(); } if ( GetSaveFlag( flags, SaveFlag.Items ) ) m_Items = reader.ReadItemList(); //else // m_Items = new ArrayList( 1 ); if ( GetSaveFlag( flags, SaveFlag.IntWeight ) ) m_Weight = reader.ReadEncodedInt(); else if ( GetSaveFlag( flags, SaveFlag.WeightNot1or0 ) ) m_Weight = reader.ReadDouble(); else if ( GetSaveFlag( flags, SaveFlag.WeightIs0 ) ) m_Weight = 0.0; else m_Weight = 1.0; if ( GetSaveFlag( flags, SaveFlag.Map ) ) m_Map = reader.ReadMap(); else m_Map = Map.Internal; if ( GetSaveFlag( flags, SaveFlag.Visible ) ) SetFlag( ImplFlag.Visible, reader.ReadBool() ); else SetFlag( ImplFlag.Visible, true ); if ( GetSaveFlag( flags, SaveFlag.Movable ) ) SetFlag( ImplFlag.Movable, reader.ReadBool() ); else SetFlag( ImplFlag.Movable, true ); if ( GetSaveFlag( flags, SaveFlag.Stackable ) ) SetFlag( ImplFlag.Stackable, reader.ReadBool() ); if ( GetSaveFlag( flags, SaveFlag.ImplFlags ) ) m_Flags = (ImplFlag)reader.ReadEncodedInt(); if ( GetSaveFlag( flags, SaveFlag.InsuredFor ) ) /*m_InsuredFor = */reader.ReadMobile(); if ( GetSaveFlag( flags, SaveFlag.BlessedFor ) ) m_BlessedFor = reader.ReadMobile(); if ( GetSaveFlag( flags, SaveFlag.HeldBy ) ) m_HeldBy = reader.ReadMobile(); if ( GetSaveFlag( flags, SaveFlag.SavedFlags ) ) m_SavedFlags = reader.ReadEncodedInt(); if ( m_Map != null && m_Parent == null ) m_Map.OnEnter( this ); break; } case 5: { SaveFlag flags = (SaveFlag)reader.ReadInt(); LastMoved = reader.ReadDeltaTime(); if ( GetSaveFlag( flags, SaveFlag.Direction ) ) m_Direction = (Direction)reader.ReadByte(); if ( GetSaveFlag( flags, SaveFlag.Bounce ) ) m_Bounce = BounceInfo.Deserialize( reader ); if ( GetSaveFlag( flags, SaveFlag.LootType ) ) m_LootType = (LootType)reader.ReadByte(); if ( GetSaveFlag( flags, SaveFlag.LocationFull ) ) m_Location = reader.ReadPoint3D(); if ( GetSaveFlag( flags, SaveFlag.ItemID ) ) m_ItemID = reader.ReadInt(); if ( GetSaveFlag( flags, SaveFlag.Hue ) ) m_Hue = reader.ReadInt(); if ( GetSaveFlag( flags, SaveFlag.Amount ) ) m_Amount = reader.ReadInt(); else m_Amount = 1; if ( GetSaveFlag( flags, SaveFlag.Layer ) ) m_Layer = (Layer)reader.ReadByte(); if ( GetSaveFlag( flags, SaveFlag.Name ) ) m_Name = string.Intern(reader.ReadString()); if ( GetSaveFlag( flags, SaveFlag.Parent ) ) { Serial parent = reader.ReadInt(); if ( parent.IsMobile ) m_Parent = World.FindMobile( parent ); else if ( parent.IsItem ) m_Parent = World.FindItem( parent ); else m_Parent = null; if ( m_Parent == null && (parent.IsMobile || parent.IsItem) ) Delete(); } if ( GetSaveFlag( flags, SaveFlag.Items ) ) m_Items = reader.ReadItemList(); //else // m_Items = new ArrayList( 1 ); if ( GetSaveFlag( flags, SaveFlag.IntWeight ) ) m_Weight = reader.ReadEncodedInt(); else if ( GetSaveFlag( flags, SaveFlag.WeightNot1or0 ) ) m_Weight = reader.ReadDouble(); else if ( GetSaveFlag( flags, SaveFlag.WeightIs0 ) ) m_Weight = 0.0; else m_Weight = 1.0; if ( GetSaveFlag( flags, SaveFlag.Map ) ) m_Map = reader.ReadMap(); else m_Map = Map.Internal; if ( GetSaveFlag( flags, SaveFlag.Visible ) ) SetFlag( ImplFlag.Visible, reader.ReadBool() ); else SetFlag( ImplFlag.Visible, true ); if ( GetSaveFlag( flags, SaveFlag.Movable ) ) SetFlag( ImplFlag.Movable, reader.ReadBool() ); else SetFlag( ImplFlag.Movable, true ); if ( GetSaveFlag( flags, SaveFlag.Stackable ) ) SetFlag( ImplFlag.Stackable, reader.ReadBool() ); if ( m_Map != null && m_Parent == null ) m_Map.OnEnter( this ); break; } case 4: // Just removed variables case 3: { m_Direction = (Direction)reader.ReadInt(); goto case 2; } case 2: { m_Bounce = BounceInfo.Deserialize( reader ); LastMoved = reader.ReadDeltaTime(); goto case 1; } case 1: { m_LootType = (LootType) reader.ReadByte();//m_Newbied = reader.ReadBool(); goto case 0; } case 0: { m_Location = reader.ReadPoint3D(); m_ItemID = reader.ReadInt(); m_Hue = reader.ReadInt(); m_Amount = reader.ReadInt(); m_Layer = (Layer) reader.ReadByte(); m_Name = reader.ReadString(); if (m_Name != null) m_Name = string.Intern(m_Name); Serial parent = reader.ReadInt(); if ( parent.IsMobile ) m_Parent = World.FindMobile( parent ); else if ( parent.IsItem ) m_Parent = World.FindItem( parent ); else m_Parent = null; if ( m_Parent == null && (parent.IsMobile || parent.IsItem) ) Delete(); int count = reader.ReadInt(); if ( count > 0 ) { m_Items = new ArrayList( count ); for ( int i = 0; i < count; ++i ) { Item item = reader.ReadItem(); if ( item != null ) m_Items.Add( item ); } } m_Weight = reader.ReadDouble(); if ( version <= 3 ) { /*m_TotalItems =*/ reader.ReadInt(); /*m_TotalWeight =*/ reader.ReadInt(); /*m_TotalGold =*/ reader.ReadInt(); } m_Map = reader.ReadMap(); SetFlag( ImplFlag.Visible, reader.ReadBool() ); SetFlag( ImplFlag.Movable, reader.ReadBool() ); if ( version <= 3 ) /*m_Deleted =*/ reader.ReadBool(); Stackable = reader.ReadBool(); if ( m_Map != null && m_Parent == null ) m_Map.OnEnter( this ); break; } } if ( m_HeldBy != null ) Timer.DelayCall( TimeSpan.Zero, new TimerCallback( FixHolding_Sandbox ) ); }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); switch ( version ) { case 3: { m_CombatCheck = reader.ReadBool(); goto case 2; } case 2: { m_SourceEffect = reader.ReadBool(); m_DestEffect = reader.ReadBool(); m_Delay = reader.ReadTimeSpan(); m_SoundID = reader.ReadEncodedInt(); goto case 1; } case 1: { m_Creatures = reader.ReadBool(); goto case 0; } case 0: { m_Active = reader.ReadBool(); m_PointDest = reader.ReadPoint3D(); m_MapDest = reader.ReadMap(); break; } } }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); if( version >= 2 ) { _BoardMap = reader.ReadMap(); } else { _BoardMap = Map; } if( version >= 1 ) { _AllowPlayerConfiguration = reader.ReadBool(); } else { _AllowPlayerConfiguration = true; } State = (BoardGameState)reader.ReadInt(); _CostToPlay = reader.ReadInt(); CurrentMaxPlayers = reader.ReadInt(); _BoardWidth = reader.ReadInt(); _BoardHeight = reader.ReadInt(); GameZone = new Rectangle3D( new Point3D( reader.ReadInt(), reader.ReadInt(), reader.ReadInt() ), new Point3D( reader.ReadInt(), reader.ReadInt(), reader.ReadInt() ) ); _BoardOffset = new Point3D( reader.ReadInt(), reader.ReadInt(), reader.ReadInt() ); int count = reader.ReadInt(); for( int i = 0; i < count; i++ ) { Players.Add( reader.ReadMobile() ); } count = reader.ReadInt(); for( int i = 0; i < count; i++ ) { BackgroundItems.Add( (GamePiece)reader.ReadItem() ); } if( _State == BoardGameState.Pending || _State == BoardGameState.Recruiting ) { _State = BoardGameState.Inactive; _Players = null; } _BoardGameRegion = new BoardGameRegion( this ); _BoardGameRegion.Register(); _SettingsReady = !_AllowPlayerConfiguration; }
public void Deserialize(GenericReader reader) { Location = reader.ReadPoint3D(); Map = reader.ReadMap(); }
public static BounceInfo Deserialize( GenericReader reader ) { if ( reader.ReadBool() ) { Map map = reader.ReadMap(); Point3D loc = reader.ReadPoint3D(); Point3D worldLoc = reader.ReadPoint3D(); object parent; Serial serial = reader.ReadInt(); if ( serial.IsItem ) parent = World.FindItem( serial ); else if ( serial.IsMobile ) parent = World.FindMobile( serial ); else parent = null; return new BounceInfo( map, loc, worldLoc, parent ); } else { return null; } }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); switch (version) { case 3: { m_AllowPets = reader.ReadBool(); goto case 2; } case 2: { m_MaxSkills = reader.ReadInt(); m_MinSkills = reader.ReadInt(); goto case 1; } case 1: { m_EntranceMap = reader.ReadMap(); goto case 0; } case 0: { m_DungeonName = reader.ReadString(); m_Size = reader.ReadInt(); m_MaxPlayers = reader.ReadInt(); m_EntrancePoint = reader.ReadPoint3D(); break; } } UnRegisterDungeon(this); RegisterDungeon(this); }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); m_creation = reader.ReadDateTime(); m_EndTime = reader.ReadDateTime(); m_RemainTime = reader.ReadTimeSpan(); m_map = reader.ReadMap(); m_Destination = reader.ReadPoint3D(); m_Active = reader.ReadBool(); m_Expires = reader.ReadBool(); }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); switch ( version ) { case 1: { m_Themed = reader.ReadBool(); m_type = (ChestThemeType)reader.ReadInt(); goto case 0; } case 0: { m_Level = (int)reader.ReadInt(); m_Completed = reader.ReadBool(); m_Decoder = reader.ReadMobile(); m_Map = reader.ReadMap(); m_Location = reader.ReadPoint2D(); break; } } if ( version < 1) { m_Themed = false; m_type = ChestThemeType.None; } }
public RunebookEntry( GenericReader reader ) { int version = reader.ReadByte(); switch ( version ) { case 1: { m_House = reader.ReadItem() as BaseHouse; goto case 0; } case 0: { m_Location = reader.ReadPoint3D(); m_Map = reader.ReadMap(); m_Description = reader.ReadString(); break; } } }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); m_AutoLock = reader.ReadBool(); if ( !Locked && m_AutoLock ) m_RelockTimer = new InternalTimer( this, reader.ReadDeltaTime() - DateTime.UtcNow ); m_TargetMap = reader.ReadMap(); m_Target = reader.ReadPoint3D(); m_Description = reader.ReadString(); }