载入中...
搜索中...
未找到
BattleSystem.cpp
浏览该文件的文档.
23eve::Result<double> parseFormula(const std::string &formula, RPGActor *attacker, RPGActor *target,
179eve::Result<double> parseFormula(const std::string &formula, RPGActor *attacker, RPGActor *target,
205eve::Result<double> BattleSystem::evaluateFormulaChecked(const std::string &formula, RPGActor *attacker,
RPG's thin compatibility facade over the attributes module.
伤害公式 DSL 与技能伤害注册。
特征系统:施加/移除运行时特征,并提供耐性/特殊参数/攻击附加等查询。
static Diagnostic error(DiagnosticCode code, std::string message, std::string path={}, DiagnosticDetails details={}, std::string source={})
Construct an error diagnostic with the standard error severity.
Definition Diagnostic.h:125
void ignore(std::string_view reason={}) const noexcept
Explicitly discard this result after documenting the reason.
Definition Result.h:537
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
static double getFinal(RPGActor *actor, const std::string &attribute)
Compute the final value through the canonical attributes engine.
Definition AttributeSystem.cpp:103
static DamageResult resolveHit(RPGActor *attacker, RPGActor *target, const SkillDamageSpec &spec, unsigned seed)
结算一次命中:命中判定、公式、元素耐性、暴击。
Definition BattleSystem.cpp:210
static eve::Result< double > evaluateFormulaChecked(const std::string &formula, RPGActor *attacker, RPGActor *target)
Strictly parse and evaluate a damage formula.
Definition BattleSystem.cpp:205
static double evaluateFormula(const std::string &formula, RPGActor *attacker, RPGActor *target)
求值伤害公式。
Definition BattleSystem.cpp:200
static void registerSkillDamage(const std::string &skillId, const SkillDamageSpec &spec)
Compatibility facade; invalid definitions are ignored.
Definition BattleSystem.cpp:41
static eve::Result< void > registerSkillDamageChecked(const std::string &skillId, const SkillDamageSpec &spec)
Validate and publish one skill damage definition atomically.
Definition BattleSystem.cpp:28
static const SkillDamageSpec * findSkillDamage(const std::string &skillId)
Finds skill damage.
Definition BattleSystem.cpp:45
static double getElementRate(RPGActor *actor, const std::string &element)
元素耐性乘积(1 = 无修正,0.5 = 减半)。
Definition TraitSystem.cpp:138
static double getExParam(RPGActor *actor, const std::string &exParam)
特殊参数加值(hit/evasion/critRate/critEvade/magicEvade/magicReflect/...)。
Definition TraitSystem.cpp:176
@ InvalidArgument
@ ParseError