active drones always have damage, just sometimes it's 0
This commit is contained in:
parent
bdc882b886
commit
f2be362d08
@ -22,8 +22,8 @@ export const dronesController: RequestHandler = async (req, res) => {
|
||||
ItemId: toOid(drone._id),
|
||||
ItemType: drone.ItemType,
|
||||
CurrentHP: drone.CurrentHP,
|
||||
DamageTime: drone.DamageTime ? toMongoDate(drone.DamageTime) : undefined,
|
||||
PendingDamage: drone.PendingDamage,
|
||||
DamageTime: toMongoDate(drone.DamageTime!),
|
||||
PendingDamage: drone.PendingDamage!,
|
||||
Resources: [
|
||||
{
|
||||
ItemType: drone.ResourceType!,
|
||||
@ -49,12 +49,13 @@ export const dronesController: RequestHandler = async (req, res) => {
|
||||
}
|
||||
drone.System = parseInt(req.query.systemIndex as string);
|
||||
const system = ExportSystems[drone.System - 1];
|
||||
if (Math.random() < system.damageChance) {
|
||||
drone.DamageTime = config.instantResourceExtractorDrones
|
||||
? new Date()
|
||||
: new Date(Date.now() + getRandomInt(3 * 3600 * 1000, 4 * 3600 * 1000));
|
||||
drone.PendingDamage = getRandomInt(system.droneDamage.minValue, system.droneDamage.maxValue);
|
||||
}
|
||||
drone.DamageTime = config.instantResourceExtractorDrones
|
||||
? new Date()
|
||||
: new Date(Date.now() + getRandomInt(3 * 3600 * 1000, 4 * 3600 * 1000));
|
||||
drone.PendingDamage =
|
||||
Math.random() < system.damageChance
|
||||
? getRandomInt(system.droneDamage.minValue, system.droneDamage.maxValue)
|
||||
: 0;
|
||||
const resource = getRandomWeightedReward3(system.resources, droneMeta.probabilities)!;
|
||||
//logger.debug(`drone rolled`, resource);
|
||||
drone.ResourceType = "/Lotus/" + resource.StoreItem.substring(18);
|
||||
@ -76,7 +77,7 @@ export const dronesController: RequestHandler = async (req, res) => {
|
||||
} else if ("collectDroneId" in req.query) {
|
||||
const drone = inventory.Drones.id(req.query.collectDroneId as string)!;
|
||||
|
||||
if (drone.DamageTime && new Date() >= drone.DamageTime) {
|
||||
if (new Date() >= drone.DamageTime!) {
|
||||
drone.CurrentHP -= drone.PendingDamage!;
|
||||
drone.RepairStart = new Date();
|
||||
}
|
||||
@ -129,8 +130,8 @@ interface IActiveDrone {
|
||||
ItemId: IOid;
|
||||
ItemType: string;
|
||||
CurrentHP: number;
|
||||
DamageTime?: IMongoDate;
|
||||
PendingDamage?: number;
|
||||
DamageTime: IMongoDate;
|
||||
PendingDamage: number;
|
||||
Resources: {
|
||||
ItemType: string;
|
||||
BinTotal: number;
|
||||
|
Loading…
x
Reference in New Issue
Block a user