"Z": 89.58569
},
"TerritoryId": 155,
- "InteractionType": "Instruction",
- "Comment": "Use Quest item on enemy to weaken it first",
- "$": "Status Effects: 22 (HP Penalty) + 62 (Damage Down)",
+ "InteractionType": "Combat",
"EnemySpawnType": "AfterInteraction",
+ "CombatItemUse": {
+ "ItemId": 2000961,
+ "Condition": "MissingStatus",
+ "Value": 22
+ },
"ComplexCombatData": [
{
"DataId": 2196
"null"
],
"description": "The Item to use",
- "exclusiveMinimum": 0
+ "exclusiveMinimum": 0,
+ "maximum": 2010000
},
"SkipConditions": {
"type": "object",
"type": "object",
"properties": {
"ItemId": {
- "type": "integer"
+ "type": "integer",
+ "maximum": 2010000
},
"Condition": {
"type": "string",
"enum": [
"Incapacitated",
- "Health%"
+ "Health%",
+ "MissingStatus"
]
},
"Value": {
{
{ ECombatItemUseCondition.Incapacitated, "Incapacitated" },
{ ECombatItemUseCondition.HealthPercent, "Health%" },
+ { ECombatItemUseCondition.MissingStatus, "MissingStatus" },
};
}
None,
Incapacitated,
HealthPercent,
+ MissingStatus,
}
_delegate.Stop();
unsafe
{
+ _logger.LogInformation("Using item {ItemId}", _combatData.CombatItemUse.ItemId);
AgentInventoryContext.Instance()->UseItem(_combatData.CombatItemUse.ItemId);
}
_continueAt = DateTime.Now.AddSeconds(2);
if (_combatData.CombatItemUse.Condition == ECombatItemUseCondition.HealthPercent)
return (100f * battleChara->Health / battleChara->MaxHealth) < _combatData.CombatItemUse.Value;
+
+ if (_combatData.CombatItemUse.Condition == ECombatItemUseCondition.MissingStatus)
+ return !battleChara->StatusManager.HasStatus((uint)_combatData.CombatItemUse.Value);
}
return false;