Skip to content

Commit

Permalink
Create a new FleetCarrier object from journal events, not just from…
Browse files Browse the repository at this point in the history
… the Frontier API.

Resolves EDCD#2427
  • Loading branch information
Tkael committed Nov 28, 2022
1 parent 5866a3e commit 5d471ac
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 52 deletions.
3 changes: 2 additions & 1 deletion EDDI/ChangeLog.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,13 @@
Full details of the variables available for each noted event, and VoiceAttack integrations, are available in the individual [event pages](https://github.com/EDCD/EDDI/wiki/Events).

## 4.0.2-b2
* Core
* Fixed bugs that would cause carrier events not to trigger if the commander hadn't already obtained fleet carriier data from the Frontier API
* Speech Responder
* Changes to existing scripts
* `Carrier docking permission` corrected occasional grammar issue.
* `Carrier service changed` corrected occasional grammar issue.
* `Fuel check` added checks to prevent `Object reference not an instance of an object` errors

* Status Monitor
* Corrected documentation of new status destination name variables (e.g. "destination_name" rather than "destinationName").

Expand Down
103 changes: 52 additions & 51 deletions EDDI/EDDI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1086,99 +1086,100 @@ private void eventHandler(Event @event)

private bool eventCarrierStats(CarrierStatsEvent carrierStatsEvent)
{
if (FleetCarrier != null && FleetCarrier.carrierID == carrierStatsEvent.carrierID)
{
FleetCarrier.name = carrierStatsEvent.name;
FleetCarrier.callsign = carrierStatsEvent.callsign;
FleetCarrier.dockingAccess = carrierStatsEvent.dockingAccess;
FleetCarrier.notoriousAccess = carrierStatsEvent.notoriousAccess;
FleetCarrier.fuel = carrierStatsEvent.fuel;
FleetCarrier.usedCapacity = carrierStatsEvent.usedCapacity;
FleetCarrier.freeCapacity = carrierStatsEvent.freeCapacity;
FleetCarrier.bankBalance = carrierStatsEvent.bankBalance;
FleetCarrier.bankReservedBalance = carrierStatsEvent.bankReservedBalance;
FleetCarrier.bankPurchaseAllocationsBalance = carrierStatsEvent.bankBalance -
carrierStatsEvent.bankReservedBalance -
carrierStatsEvent.bankAvailableBalance;
return true;
}
return false;
if (FleetCarrier is null || FleetCarrier.carrierID != carrierStatsEvent.carrierID)
{
fleetCarrier = new FleetCarrier(carrierStatsEvent.carrierID);
}

FleetCarrier.name = carrierStatsEvent.name;
FleetCarrier.callsign = carrierStatsEvent.callsign;
FleetCarrier.dockingAccess = carrierStatsEvent.dockingAccess;
FleetCarrier.notoriousAccess = carrierStatsEvent.notoriousAccess;
FleetCarrier.fuel = carrierStatsEvent.fuel;
FleetCarrier.usedCapacity = carrierStatsEvent.usedCapacity;
FleetCarrier.freeCapacity = carrierStatsEvent.freeCapacity;
FleetCarrier.bankBalance = carrierStatsEvent.bankBalance;
FleetCarrier.bankReservedBalance = carrierStatsEvent.bankReservedBalance;
FleetCarrier.bankPurchaseAllocationsBalance = carrierStatsEvent.bankBalance -
carrierStatsEvent.bankReservedBalance -
carrierStatsEvent.bankAvailableBalance;
return true;
}

private bool eventCarrierNameChange(CarrierNameChangeEvent carrierNameChangeEvent)
{
if (FleetCarrier != null && FleetCarrier.carrierID == carrierNameChangeEvent.carrierID)
if (FleetCarrier is null || FleetCarrier.carrierID != carrierNameChangeEvent.carrierID)
{
FleetCarrier.name = carrierNameChangeEvent.name;
return true;
fleetCarrier = new FleetCarrier(carrierNameChangeEvent.carrierID);
}
return false;
FleetCarrier.name = carrierNameChangeEvent.name;
return true;
}

private bool eventCarrierFinance(CarrierFinanceEvent carrierFinanceEvent)
{
if (FleetCarrier != null && FleetCarrier.carrierID == carrierFinanceEvent.carrierID)
if (FleetCarrier is null || FleetCarrier.carrierID != carrierFinanceEvent.carrierID)
{
FleetCarrier.bankBalance = carrierFinanceEvent.bankBalance;
FleetCarrier.bankReservedBalance = carrierFinanceEvent.bankReservedBalance;
FleetCarrier.bankPurchaseAllocationsBalance = carrierFinanceEvent.bankBalance
- carrierFinanceEvent.bankReservedBalance
- carrierFinanceEvent.bankAvailableBalance;
return true;
fleetCarrier = new FleetCarrier(carrierFinanceEvent.carrierID);
}
return false;
FleetCarrier.bankBalance = carrierFinanceEvent.bankBalance;
FleetCarrier.bankReservedBalance = carrierFinanceEvent.bankReservedBalance;
FleetCarrier.bankPurchaseAllocationsBalance = carrierFinanceEvent.bankBalance
- carrierFinanceEvent.bankReservedBalance
- carrierFinanceEvent.bankAvailableBalance;
return true;
}

private bool eventCarrierDockingPermission(CarrierDockingPermissionEvent carrierDockingPermissionEvent)
{
if (FleetCarrier != null && FleetCarrier.carrierID == carrierDockingPermissionEvent.carrierID)
if (FleetCarrier is null || FleetCarrier.carrierID != carrierDockingPermissionEvent.carrierID)
{
FleetCarrier.dockingAccess = carrierDockingPermissionEvent.dockingAccess;
FleetCarrier.notoriousAccess = carrierDockingPermissionEvent.allowNotorious;
return true;
fleetCarrier = new FleetCarrier(carrierDockingPermissionEvent.carrierID);
}
return false;
FleetCarrier.dockingAccess = carrierDockingPermissionEvent.dockingAccess;
FleetCarrier.notoriousAccess = carrierDockingPermissionEvent.allowNotorious;
return true;
}

private bool eventCarrierDepositFuel(CarrierFuelDepositEvent carrierFuelDepositEvent)
{
if (FleetCarrier != null && FleetCarrier.carrierID == carrierFuelDepositEvent.carrierID)
if (FleetCarrier is null || FleetCarrier.carrierID != carrierFuelDepositEvent.carrierID)
{
FleetCarrier.fuel = carrierFuelDepositEvent.total;
return true;
fleetCarrier = new FleetCarrier(carrierFuelDepositEvent.carrierID);
}
return false;
FleetCarrier.fuel = carrierFuelDepositEvent.total;
return true;
}

private bool eventCarrierDecommissionScheduled(CarrierDecommissionScheduledEvent carrierDecommissionScheduledEvent)
{
if (FleetCarrier != null && FleetCarrier.carrierID == carrierDecommissionScheduledEvent.carrierID)
if (FleetCarrier is null || FleetCarrier.carrierID != carrierDecommissionScheduledEvent.carrierID)
{
FleetCarrier.state = "pendingDecommission";
return true;
fleetCarrier = new FleetCarrier(carrierDecommissionScheduledEvent.carrierID);
}
return false;
FleetCarrier.state = "pendingDecommission";
return true;
}

private bool eventCarrierDecommissionCancelled(CarrierDecommissionCancelledEvent carrierDecommissionCancelledEvent)
{
if (FleetCarrier != null && FleetCarrier.carrierID == carrierDecommissionCancelledEvent.carrierID)
if (FleetCarrier is null || FleetCarrier.carrierID != carrierDecommissionCancelledEvent.carrierID)
{
FleetCarrier.state = "normalOperation";
return true;
fleetCarrier = new FleetCarrier(carrierDecommissionCancelledEvent.carrierID);
}
return false;
FleetCarrier.state = "normalOperation";
return true;
}

private bool eventCarrierBankTransfer(CarrierBankTransferEvent carrierBankTransferEvent)
{
Cmdr.credits = carrierBankTransferEvent.cmdrBalance;
if (FleetCarrier != null && FleetCarrier.carrierID == carrierBankTransferEvent.carrierID)
if (FleetCarrier is null || FleetCarrier.carrierID != carrierBankTransferEvent.carrierID)
{
FleetCarrier.bankBalance = carrierBankTransferEvent.bankBalance;
return true;
fleetCarrier = new FleetCarrier(carrierBankTransferEvent.carrierID);
}
return false;
Cmdr.credits = carrierBankTransferEvent.cmdrBalance;
FleetCarrier.bankBalance = carrierBankTransferEvent.bankBalance;
return true;
}

private bool eventSettlementApproached(SettlementApproachedEvent settlementApproachedEvent)
Expand Down

0 comments on commit 5d471ac

Please sign in to comment.