|
@@ -785,41 +785,39 @@ BlockReplaceItemSkillConfig* BlockReplaceItemSkillConfigFactory::fromJson(
|
|
|
Game::INSTANCE->zTypeRegistry()->fromJson<BlockFilter>(
|
|
|
zJson->asObject()->zValue("targetFilter")));
|
|
|
result->setCooldownTicks((int)zJson->asObject()
|
|
|
- ->zValue("cooldownTicks")
|
|
|
- ->asNumber()
|
|
|
- ->getNumber());
|
|
|
+ ->zValue("cooldownTicks")
|
|
|
+ ->asNumber()
|
|
|
+ ->getNumber());
|
|
|
result->setReplacementBlockTypeId(
|
|
|
Game::INSTANCE->getBlockTypeId(zJson->asObject()
|
|
|
- ->zValue("replacementBlockType")
|
|
|
- ->asString()
|
|
|
- ->getString()));
|
|
|
+ ->zValue("replacementBlockType")
|
|
|
+ ->asString()
|
|
|
+ ->getString()));
|
|
|
result->setCooldownTicks((int)zJson->asObject()
|
|
|
- ->zValue("cooldownTicks")
|
|
|
- ->asNumber()
|
|
|
- ->getNumber());
|
|
|
+ ->zValue("cooldownTicks")
|
|
|
+ ->asNumber()
|
|
|
+ ->getNumber());
|
|
|
result->setStaminaCost((float)zJson->asObject()
|
|
|
- ->zValue("staminaCost")
|
|
|
- ->asNumber()
|
|
|
- ->getNumber());
|
|
|
+ ->zValue("staminaCost")
|
|
|
+ ->asNumber()
|
|
|
+ ->getNumber());
|
|
|
result->setStaminaCostDevider((float)zJson->asObject()
|
|
|
- ->zValue("staminaCostDevider")
|
|
|
- ->asNumber()
|
|
|
- ->getNumber());
|
|
|
- result->setAdditionalStaminaCostDeviderPerLevel(
|
|
|
- (float)zJson->asObject()
|
|
|
+ ->zValue("staminaCostDevider")
|
|
|
+ ->asNumber()
|
|
|
+ ->getNumber());
|
|
|
+ result->setAdditionalStaminaCostDeviderPerLevel((float)zJson->asObject()
|
|
|
->zValue("additionalStaminaCostDeviderPerLevel")
|
|
|
->asNumber()
|
|
|
->getNumber());
|
|
|
result->setDurabilityCost((float)zJson->asObject()
|
|
|
- ->zValue("durabilityCost")
|
|
|
- ->asNumber()
|
|
|
- ->getNumber());
|
|
|
+ ->zValue("durabilityCost")
|
|
|
+ ->asNumber()
|
|
|
+ ->getNumber());
|
|
|
result->setDurabilityCostDevider((float)zJson->asObject()
|
|
|
- ->zValue("durabilityCostDevider")
|
|
|
- ->asNumber()
|
|
|
- ->getNumber());
|
|
|
- result->setAdditionalDurabilityCostDeviderPerLevel(
|
|
|
- (float)zJson->asObject()
|
|
|
+ ->zValue("durabilityCostDevider")
|
|
|
+ ->asNumber()
|
|
|
+ ->getNumber());
|
|
|
+ result->setAdditionalDurabilityCostDeviderPerLevel((float)zJson->asObject()
|
|
|
->zValue("additionalDurabilityCostDeviderPerLevel")
|
|
|
->asNumber()
|
|
|
->getNumber());
|
|
@@ -1068,7 +1066,7 @@ BlockReplaceItemSkill* BlockReplaceItemSkillFactory::fromJson(
|
|
|
*zJson->zValue("configs")->asArray())
|
|
|
{
|
|
|
result->addConfig(Game::INSTANCE->zTypeRegistry()
|
|
|
- ->fromJson<BlockReplaceItemSkillConfig>(value));
|
|
|
+ ->fromJson<BlockReplaceItemSkillConfig>(value));
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
@@ -1085,8 +1083,7 @@ Framework::JSON::JSONObject* BlockReplaceItemSkillFactory::toJsonObject(
|
|
|
new Framework::JSON::JSONNumber(
|
|
|
zObject->zInvalidUseConfig()->getStaminaCostDevider()));
|
|
|
result->addValue("invalidAdditionalStaminaCostDeviderPerLevel",
|
|
|
- new Framework::JSON::JSONNumber(
|
|
|
- zObject->zInvalidUseConfig()
|
|
|
+ new Framework::JSON::JSONNumber(zObject->zInvalidUseConfig()
|
|
|
->getAdditionalStaminaCostDeviderPerLevel()));
|
|
|
result->addValue("invalidDurabilityCost",
|
|
|
new Framework::JSON::JSONNumber(
|
|
@@ -1095,8 +1092,7 @@ Framework::JSON::JSONObject* BlockReplaceItemSkillFactory::toJsonObject(
|
|
|
new Framework::JSON::JSONNumber(
|
|
|
zObject->zInvalidUseConfig()->getDurabilityCostDevider()));
|
|
|
result->addValue("invalidAdditionalDurabilityCostDeviderPerLevel",
|
|
|
- new Framework::JSON::JSONNumber(
|
|
|
- zObject->zInvalidUseConfig()
|
|
|
+ new Framework::JSON::JSONNumber(zObject->zInvalidUseConfig()
|
|
|
->getAdditionalDurabilityCostDeviderPerLevel()));
|
|
|
result->addValue("invalidCooldownTicks",
|
|
|
new Framework::JSON::JSONNumber(
|
|
@@ -1143,8 +1139,7 @@ JSONObjectValidationBuilder* BlockReplaceItemSkillFactory::addToValidator(
|
|
|
->withDefault(20)
|
|
|
->finishNumber()
|
|
|
->withRequiredArray("configs")
|
|
|
- ->addAcceptedTypeInArray(
|
|
|
- Game::INSTANCE->zTypeRegistry()
|
|
|
+ ->addAcceptedTypeInArray(Game::INSTANCE->zTypeRegistry()
|
|
|
->getValidator<BlockReplaceItemSkillConfig>())
|
|
|
->finishArray());
|
|
|
}
|
|
@@ -1413,81 +1408,77 @@ DamagingItemSkillConfig* DamagingItemSkillConfigFactory::fromJson(
|
|
|
result->setDamage(
|
|
|
(float)zJson->asObject()->zValue("damage")->asNumber()->getNumber());
|
|
|
result->setDamagePerHeadHardness((float)zJson->asObject()
|
|
|
- ->zValue("damagePerHeadHardness")
|
|
|
- ->asNumber()
|
|
|
- ->getNumber());
|
|
|
+ ->zValue("damagePerHeadHardness")
|
|
|
+ ->asNumber()
|
|
|
+ ->getNumber());
|
|
|
result->setBaseDamageMultiplier((float)zJson->asObject()
|
|
|
- ->zValue("baseDamageMultiplier")
|
|
|
- ->asNumber()
|
|
|
- ->getNumber());
|
|
|
- result->setDamageMultiplierPerHeadHardness(
|
|
|
- (float)zJson->asObject()
|
|
|
+ ->zValue("baseDamageMultiplier")
|
|
|
+ ->asNumber()
|
|
|
+ ->getNumber());
|
|
|
+ result->setDamageMultiplierPerHeadHardness((float)zJson->asObject()
|
|
|
->zValue("damageMultiplierPerHeadHardness")
|
|
|
->asNumber()
|
|
|
->getNumber());
|
|
|
result->setDamagePerLevel((float)zJson->asObject()
|
|
|
- ->zValue("damagePerLevel")
|
|
|
- ->asNumber()
|
|
|
- ->getNumber());
|
|
|
+ ->zValue("damagePerLevel")
|
|
|
+ ->asNumber()
|
|
|
+ ->getNumber());
|
|
|
result->setDamageMultiplierPerLevel((float)zJson->asObject()
|
|
|
- ->zValue("damageMultiplierPerLevel")
|
|
|
- ->asNumber()
|
|
|
- ->getNumber());
|
|
|
+ ->zValue("damageMultiplierPerLevel")
|
|
|
+ ->asNumber()
|
|
|
+ ->getNumber());
|
|
|
result->setDamageDevider((float)zJson->asObject()
|
|
|
- ->zValue("damageDevider")
|
|
|
- ->asNumber()
|
|
|
- ->getNumber());
|
|
|
+ ->zValue("damageDevider")
|
|
|
+ ->asNumber()
|
|
|
+ ->getNumber());
|
|
|
result->setDamageDeviderPerHardness((float)zJson->asObject()
|
|
|
- ->zValue("damageDeviderPerHardness")
|
|
|
- ->asNumber()
|
|
|
- ->getNumber());
|
|
|
+ ->zValue("damageDeviderPerHardness")
|
|
|
+ ->asNumber()
|
|
|
+ ->getNumber());
|
|
|
result->setStaminaCost((float)zJson->asObject()
|
|
|
- ->zValue("staminaCost")
|
|
|
- ->asNumber()
|
|
|
- ->getNumber());
|
|
|
+ ->zValue("staminaCost")
|
|
|
+ ->asNumber()
|
|
|
+ ->getNumber());
|
|
|
result->setStaminaCostPerDamage((float)zJson->asObject()
|
|
|
- ->zValue("staminaCostPerDamage")
|
|
|
- ->asNumber()
|
|
|
- ->getNumber());
|
|
|
+ ->zValue("staminaCostPerDamage")
|
|
|
+ ->asNumber()
|
|
|
+ ->getNumber());
|
|
|
result->setStaminaCostPerHardness((float)zJson->asObject()
|
|
|
- ->zValue("staminaCostPerHardness")
|
|
|
- ->asNumber()
|
|
|
- ->getNumber());
|
|
|
+ ->zValue("staminaCostPerHardness")
|
|
|
+ ->asNumber()
|
|
|
+ ->getNumber());
|
|
|
result->setStaminaCostDevider((float)zJson->asObject()
|
|
|
- ->zValue("staminaCostDevider")
|
|
|
- ->asNumber()
|
|
|
- ->getNumber());
|
|
|
- result->setStaminaCostDeviderPerLevel(
|
|
|
- (float)zJson->asObject()
|
|
|
+ ->zValue("staminaCostDevider")
|
|
|
+ ->asNumber()
|
|
|
+ ->getNumber());
|
|
|
+ result->setStaminaCostDeviderPerLevel((float)zJson->asObject()
|
|
|
->zValue("staminaCostDeviderPerLevel")
|
|
|
->asNumber()
|
|
|
->getNumber());
|
|
|
result->setDurabilityCost((float)zJson->asObject()
|
|
|
- ->zValue("durabilityCost")
|
|
|
- ->asNumber()
|
|
|
- ->getNumber());
|
|
|
+ ->zValue("durabilityCost")
|
|
|
+ ->asNumber()
|
|
|
+ ->getNumber());
|
|
|
result->setDurabilityCostPerDamage((float)zJson->asObject()
|
|
|
- ->zValue("durabilityCostPerDamage")
|
|
|
- ->asNumber()
|
|
|
- ->getNumber());
|
|
|
- result->setDurabilityCostPerHardness(
|
|
|
- (float)zJson->asObject()
|
|
|
+ ->zValue("durabilityCostPerDamage")
|
|
|
+ ->asNumber()
|
|
|
+ ->getNumber());
|
|
|
+ result->setDurabilityCostPerHardness((float)zJson->asObject()
|
|
|
->zValue("durabilityCostPerHardness")
|
|
|
->asNumber()
|
|
|
->getNumber());
|
|
|
result->setDurabilityCostDevider((float)zJson->asObject()
|
|
|
- ->zValue("durabilityCostDevider")
|
|
|
- ->asNumber()
|
|
|
- ->getNumber());
|
|
|
- result->setAdditionalDurabilityCostDeviderPerLevel(
|
|
|
- (float)zJson->asObject()
|
|
|
+ ->zValue("durabilityCostDevider")
|
|
|
+ ->asNumber()
|
|
|
+ ->getNumber());
|
|
|
+ result->setAdditionalDurabilityCostDeviderPerLevel((float)zJson->asObject()
|
|
|
->zValue("additionalDurabilityCostDeviderPerLevel")
|
|
|
->asNumber()
|
|
|
->getNumber());
|
|
|
result->setXpGainPerDamage((float)zJson->asObject()
|
|
|
- ->zValue("xpGainPerDamage")
|
|
|
- ->asNumber()
|
|
|
- ->getNumber());
|
|
|
+ ->zValue("xpGainPerDamage")
|
|
|
+ ->asNumber()
|
|
|
+ ->getNumber());
|
|
|
return result;
|
|
|
}
|
|
|
|
|
@@ -1708,7 +1699,7 @@ bool DamagingItemSkill::use(Entity* zActor, Item* zUsedItem, Block* zTarget)
|
|
|
}
|
|
|
zActor->setStamina(zActor->getStamina() - staminaCost);
|
|
|
setXp(getXp() + usedConfig->getXpGainPerDamage() * damage);
|
|
|
- zTarget->setHP(zTarget->getHP() - damage);
|
|
|
+ zTarget->setHP(zActor, zUsedItem, this, zTarget->getHP() - damage);
|
|
|
return true;
|
|
|
}
|
|
|
|
|
@@ -1831,8 +1822,7 @@ Framework::JSON::JSONObject* DamagingItemSkillFactory::toJsonObject(
|
|
|
new Framework::JSON::JSONNumber(
|
|
|
zObject->zInvalidUseConfig()->getDurabilityCostDevider()));
|
|
|
result->addValue("invalidDurabilityCostDeviderPerLevel",
|
|
|
- new Framework::JSON::JSONNumber(
|
|
|
- zObject->zInvalidUseConfig()
|
|
|
+ new Framework::JSON::JSONNumber(zObject->zInvalidUseConfig()
|
|
|
->getAdditionalDurabilityCostDeviderPerLevel()));
|
|
|
Framework::JSON::JSONArray* configs = new Framework::JSON::JSONArray();
|
|
|
for (DamagingItemSkillConfig* config : zObject->getConfigs())
|
|
@@ -1881,8 +1871,7 @@ JSONObjectValidationBuilder* DamagingItemSkillFactory::addToValidator(
|
|
|
->withDefault(0.02)
|
|
|
->finishNumber()
|
|
|
->withRequiredArray("configs")
|
|
|
- ->addAcceptedTypeInArray(
|
|
|
- Game::INSTANCE->zTypeRegistry()
|
|
|
+ ->addAcceptedTypeInArray(Game::INSTANCE->zTypeRegistry()
|
|
|
->getValidator<DamagingItemSkillConfig>())
|
|
|
->finishArray());
|
|
|
}
|