Skip to content

Commit

Permalink
add multiplier
Browse files Browse the repository at this point in the history
  • Loading branch information
WakaToa committed Jun 23, 2019
1 parent 5833d79 commit 57b0719
Show file tree
Hide file tree
Showing 4 changed files with 52 additions and 43 deletions.
56 changes: 30 additions & 26 deletions Corvus/DarkOrbit/DarkOrbitAccount.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
using System;
using System.IO;
using System.Linq;
using System.Net;
using System.Runtime.Remoting.Lifetime;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Xml.Serialization;
Expand Down Expand Up @@ -318,11 +320,24 @@ public async Task<bool> BuildTechAsync(TechFactoryData.TechFactoryItem item, int
return false;
}

private bool IsMultiplierAvailable(GalaxyGate gate)
{
var gateName = gate.GetFullName().ToLower();

var data = GateData.MultiplierInfo.MultiplierInfo.FirstOrDefault(x => x.Mode.ToLower() == gateName);
if (data == null)
{
return false;
}
return data.Value >= 0;
}

public async Task<GateSpinData> SpinGateAsync(GalaxyGate gate, bool useMultiplier)
{
if (useMultiplier)
var spinUrl = string.Empty;
if (useMultiplier && IsMultiplierAvailable(gate))
{
var spinUrl = string.Format(Urls.SpinGateMultiplier, Urls.BaseUrl, AccountData.UserId, AccountData.SessionId,
spinUrl = string.Format(Urls.SpinGateMultiplier, Urls.BaseUrl, AccountData.UserId, AccountData.SessionId,
(int)gate, gate.GetFullName().ToLower());

if (GateData.Samples > 0)
Expand All @@ -331,45 +346,33 @@ public async Task<GateSpinData> SpinGateAsync(GalaxyGate gate, bool useMultiplie
(int)gate, gate.GetFullName().ToLower());
}

var resultString = await _httpClient.GetAsyncNoLimit(spinUrl);

var serializer = new XmlSerializer(typeof(GateSpinData));

GateSpinData result;

using (var reader = new StringReader(resultString))
{
result = (GateSpinData)serializer.Deserialize(reader) as GateSpinData;
}
EvaluateGateSpin(result);

return result;

}
else
{
var spinUrl = string.Format(Urls.SpinGate, Urls.BaseUrl, AccountData.UserId, AccountData.SessionId,
spinUrl = string.Format(Urls.SpinGate, Urls.BaseUrl, AccountData.UserId, AccountData.SessionId,
(int)gate, gate.GetFullName().ToLower());

if (GateData.Samples > 0)
{
spinUrl = string.Format(Urls.SpinGateSample, Urls.BaseUrl, AccountData.UserId, AccountData.SessionId,
(int)gate, gate.GetFullName().ToLower());
}
}

var resultString = await _httpClient.GetAsyncNoLimit(spinUrl);

var serializer = new XmlSerializer(typeof(GateSpinData));
var resultString = await _httpClient.GetAsyncNoLimit(spinUrl);

GateSpinData result;
var serializer = new XmlSerializer(typeof(GateSpinData));

using (var reader = new StringReader(resultString))
{
result = (GateSpinData)serializer.Deserialize(reader) as GateSpinData;
}
EvaluateGateSpin(result);
GateSpinData result;

return result;
using (var reader = new StringReader(resultString))
{
result = (GateSpinData)serializer.Deserialize(reader) as GateSpinData;
}
EvaluateGateSpin(result);

return result;
}

private void EvaluateGateSpin(GateSpinData spin)
Expand All @@ -379,6 +382,7 @@ private void EvaluateGateSpin(GateSpinData spin)
GateData.EnergyCost.Text = spin.EnergyCost.Text;
GateData.Money = spin.Money;

GateData.MultiplierInfo = spin.MultiplierInfo;

foreach (var spinItem in spin.Items.GetAllItems())
{
Expand Down
38 changes: 22 additions & 16 deletions Corvus/DarkOrbit/Data/GalaxyGate.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,24 @@ public enum GalaxyGate
Kuiper = 19
}


[XmlRoot(ElementName = "multiplier")]
public class Multiplier
{
[XmlAttribute(AttributeName = "mode")]
public string Mode { get; set; }
[XmlAttribute(AttributeName = "value")]
public int Value { get; set; }
[XmlAttribute(AttributeName = "state")]
public int State { get; set; }
}
[XmlRoot(ElementName = "multipliers")]
public class Multipliers
{
[XmlElement(ElementName = "multiplier")]
public List<Multiplier> MultiplierInfo { get; set; }
}

[XmlRoot(ElementName = "jumpgate")]
public class GateData
{
Expand All @@ -56,22 +74,7 @@ public class EnergyCostInfo
public int Text { get; set; }
}

[XmlRoot(ElementName = "multiplier")]
public class Multiplier
{
[XmlAttribute(AttributeName = "mode")]
public string Mode { get; set; }
[XmlAttribute(AttributeName = "value")]
public int Value { get; set; }
[XmlAttribute(AttributeName = "state")]
public int State { get; set; }
}
[XmlRoot(ElementName = "multipliers")]
public class Multipliers
{
[XmlElement(ElementName = "multiplier")]
public List<Multiplier> MultiplierInfo { get; set; }
}


[XmlRoot(ElementName = "gate")]
public class Gate
Expand Down Expand Up @@ -174,6 +177,9 @@ public class GateSpinData
[XmlElement(ElementName = "items")]
public ItemsInfo Items { get; set; }

[XmlElement(ElementName = "multipliers")]
public Multipliers MultiplierInfo { get; set; }

[XmlRoot(ElementName = "energy_cost")]
public class EnergyCostInfo
{
Expand Down
1 change: 0 additions & 1 deletion Corvus/FrmMain.cs
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,6 @@ public partial class FrmMain : Form
private bool manuallyStopped = false;
private bool loginAccount = false;
private bool useMultiplier = false;
private int multiplier = 1;

private DateTime _nextRunTechFactory = DateTime.Now;
private DateTime _nextRunSkylab = DateTime.Now;
Expand Down
File renamed without changes.

0 comments on commit 57b0719

Please sign in to comment.