Modernization Fixes & Updates to Default Values (#3)

This commit is contained in:
Kamron Batman 2018-10-28 00:33:16 -07:00 • committed by GitHub
parent 445eddff68
commit dcf64091b1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
768 changed files with 10507 additions and 14196 deletions

View file

@ -1,40 +1,34 @@
using System;
using System.Collections;
using System.Collections.Generic;
namespace Server.Engines.ConPVP
{
public class LadderController : Item
{
private Ladder m_Ladder;
[Constructible]
public LadderController() : base(0x1B7A)
{
Visible = false;
Movable = false;
m_Ladder = new Ladder();
Ladder = new Ladder();
if (Ladder.Instance == null)
Ladder.Instance = m_Ladder;
Ladder.Instance = Ladder;
}
public LadderController(Serial serial) : base(serial)
{
}
//[CommandProperty( AccessLevel.GameMaster )]
public Ladder Ladder
{
get => m_Ladder;
set { }
}
[CommandProperty( AccessLevel.Administrator )]
public Ladder Ladder{ get; private set; }
public override string DefaultName => "ladder controller";
public override void Delete()
{
if (Ladder.Instance == m_Ladder)
if (Ladder.Instance == Ladder)
Ladder.Instance = null;
base.Delete();
@ -46,9 +40,9 @@ namespace Server.Engines.ConPVP
writer.Write(1);
m_Ladder.Serialize(writer);
Ladder.Serialize(writer);
writer.Write(Ladder.Instance == m_Ladder);
writer.Write(Ladder.Instance == Ladder);
}
public override void Deserialize(GenericReader reader)
@ -62,10 +56,10 @@ namespace Server.Engines.ConPVP
case 1:
case 0:
{
m_Ladder = new Ladder(reader);
Ladder = new Ladder(reader);
if (version < 1 || reader.ReadBool())
Ladder.Instance = m_Ladder;
Ladder.Instance = Ladder;
break;
}
@ -120,14 +114,13 @@ namespace Server.Engines.ConPVP
/* +6 */ { 40, 160 }
};
private ArrayList m_Entries;
public List<LadderEntry> Entries{ get; } = new List<LadderEntry>();
private Hashtable m_Table;
private Dictionary<Mobile, LadderEntry> m_Table;
public Ladder()
{
m_Table = new Hashtable();
m_Entries = new ArrayList();
m_Table = new Dictionary<Mobile, LadderEntry>();
}
public Ladder(GenericReader reader)
@ -141,8 +134,8 @@ namespace Server.Engines.ConPVP
{
int count = reader.ReadEncodedInt();
m_Table = new Hashtable(count);
m_Entries = new ArrayList(count);
m_Table = new Dictionary<Mobile, LadderEntry>(count);
Entries = new List<LadderEntry>(count);
for (int i = 0; i < count; ++i)
{
@ -151,18 +144,18 @@ namespace Server.Engines.ConPVP
if (entry.Mobile != null)
{
m_Table[entry.Mobile] = entry;
entry.Index = m_Entries.Count;
m_Entries.Add(entry);
entry.Index = Entries.Count;
Entries.Add(entry);
}
}
if (version == 0)
{
m_Entries.Sort();
Entries.Sort();
for (int i = 0; i < m_Entries.Count; ++i)
for (int i = 0; i < Entries.Count; ++i)
{
LadderEntry entry = (LadderEntry)m_Entries[i];
LadderEntry entry = Entries[i];
entry.Index = i;
}
@ -247,20 +240,15 @@ namespace Server.Engines.ConPVP
return xp * (weWon ? 1 : -1);
}
public ArrayList ToArrayList()
{
return m_Entries;
}
private int Swap(int idx, int newIdx)
{
object hold = m_Entries[idx];
LadderEntry hold = Entries[idx];
m_Entries[idx] = m_Entries[newIdx];
m_Entries[newIdx] = hold;
Entries[idx] = Entries[newIdx];
Entries[newIdx] = hold;
((LadderEntry)m_Entries[idx]).Index = idx;
((LadderEntry)m_Entries[newIdx]).Index = newIdx;
Entries[idx].Index = idx;
Entries[newIdx].Index = newIdx;
return newIdx;
}
@ -269,29 +257,25 @@ namespace Server.Engines.ConPVP
{
int index = entry.Index;
if (index >= 0 && index < m_Entries.Count)
if (index >= 0 && index < Entries.Count)
{
// sanity
int c;
while (index - 1 >= 0 && (c = entry.CompareTo(m_Entries[index - 1])) < 0)
while (index - 1 >= 0 && (entry.CompareTo(Entries[index - 1])) < 0)
index = Swap(index, index - 1);
while (index + 1 < m_Entries.Count && (c = entry.CompareTo(m_Entries[index + 1])) > 0)
while (index + 1 < Entries.Count && (entry.CompareTo(Entries[index + 1])) > 0)
index = Swap(index, index + 1);
}
}
public LadderEntry Find(Mobile mob)
{
LadderEntry entry = (LadderEntry)m_Table[mob];
LadderEntry entry = m_Table[mob];
if (entry == null)
{
m_Table[mob] = entry = new LadderEntry(mob, this);
entry.Index = m_Entries.Count;
m_Entries.Add(entry);
entry.Index = Entries.Count;
Entries.Add(entry);
}
return entry;
@ -299,17 +283,17 @@ namespace Server.Engines.ConPVP
public LadderEntry FindNoCreate(Mobile mob)
{
return m_Table[mob] as LadderEntry;
return m_Table[mob];
}
public void Serialize(GenericWriter writer)
{
writer.WriteEncodedInt(1); // version;
writer.WriteEncodedInt(m_Entries.Count);
writer.WriteEncodedInt(Entries.Count);
for (int i = 0; i < m_Entries.Count; ++i)
((LadderEntry)m_Entries[i]).Serialize(writer);
for (int i = 0; i < Entries.Count; ++i)
Entries[i].Serialize(writer);
}
}