载入中...
搜索中...
未找到
RPG.cpp
浏览该文件的文档.
247eve::Result<int> RPG::replaceStoriesFromDnut(const std::string &source, const std::string &path) {
252bool RPG::hasStory(const std::string &storyId) const { return RpgStoryCatalogue::contains(storyId); }
392Result<std::unique_ptr<BattleControl>> RPG::newBattleControl(Battle *battle, SubjectRef instance) {
575 if (SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast<SQUserPointer *>(&self), nullptr)) || !self)
609 actor.addFunc("modifyBaseAttribute", [](RPGActor *a, const std::string &attribute, float delta) {
680 actor.addFunc("getXpToNext", [](RPGActor *a) -> float { return a ? float(a->getXpToNext()) : 0.f; });
681 actor.addFunc("setXpToNext", [](RPGActor *a, float value) { if (a) a->setXpToNext(double(value)); });
682 actor.addFunc("restoreProgression", [](RPGActor *a, int level, float xp, float xpToNext) -> int {
687 actor.addFunc("gainXp", [](RPGActor *a, float amount) -> bool { return a && a->gainXp(double(amount)); });
697 [](RPGActor *a, const std::string &r, float value) { if (a) a->setCurrent(r, double(value)); });
698 actor.addFunc("takeDamage", [](RPGActor *a, const std::string &r, float amount, const std::string &source) -> float {
712 actor.addFunc("applyTrait", [](RPGActor *a, const std::string &t, const std::string &s) -> int {
760 "SettlementContext", std::function<SettlementContext *()>([]() { return new SettlementContext(); }),
892 battle.addFunc("getEventAmount", [](Battle *b, int i) -> float { return float(b->getEventAmount(i)); });
951 gs.addFunc("setVariable", [](GameState *g, const std::string &n, float v) { if (g) g->setVariable(n, double(v)); });
952 gs.addFunc("getVariable", [](GameState *g, const std::string &n) -> float { return g ? float(g->getVariable(n)) : 0.f; });
953 gs.addFunc("addVariable", [](GameState *g, const std::string &n, float d) { if (g) g->addVariable(n, double(d)); });
954 gs.addFunc("setSelfVariable", [](GameState *g, const std::string &s, const std::string &n, float v) { if (g) g->setSelfVariable(s, n, double(v)); });
955 gs.addFunc("getSelfVariable", [](GameState *g, const std::string &s, const std::string &n) -> float { return g ? float(g->getSelfVariable(s, n)) : 0.f; });
1038 "RPGStorySession", std::function<RpgStorySession *()>([]() { return new RpgStorySession(); }), true);
1045 storySession.addFunc("begin", [vm](RpgStorySession *session, const std::string &storyId, GameState *gameState,
1053 inventory::Bag *bag = bagObject.isNull() ? nullptr : bagObject.toPtrUnsafe<inventory::Bag *>();
1056 return eve::script::projectResult(vm, session->begin(storyId, gameState, party, bag, equipment));
1082 storySession.addFunc("getChoiceLabel", [](RpgStorySession *session, int index) -> std::string {
1088 storySession.addFunc("getStepString", [](RpgStorySession *session, const std::string &fieldName) -> std::string {
1093 storySession.addFunc("getStepNumber", [](RpgStorySession *session, const std::string &fieldName) -> float {
1097 return value->isInt64() ? static_cast<float>(value->asInt()) : static_cast<float>(value->asDouble());
1099 storySession.addFunc("getStepBool", [](RpgStorySession *session, const std::string &fieldName) -> bool {
1106 "RPGSaveSession", std::function<RPGSaveSession *()>([]() { return new RPGSaveSession(); }), true);
1121 saveSession.addFunc("setContentVersion", [](RPGSaveSession *session, const std::string &version) -> int {
1162 saveSession.addFunc("validateSnapshotJson", [](RPGSaveSession *session, const std::string &json) -> int {
1165 saveSession.addFunc("restoreSnapshotJson", [](RPGSaveSession *session, const std::string &json) -> int {
1378 cls.addFunc("replaceStoriesFromDnut", [vm](RPG *rpg, const std::string &source, const std::string &path) {
Player-equivalent, host-neutral control adapter for one RPG Battle.
伤害公式 DSL 与技能伤害注册。
Strict ordered battle-action policies for companions and AI.
Atomic post-battle progression and persistent-world settlement.
回合制战斗对象:参战者、行动顺序、目标选取、行动执行。
职业(Class)定义:可学技能(升级解锁)与职业基础特征,进程级注册表。
Strict RPG encounter definitions and settlement projection.
装备加成:把已装备物品(inventory::EquipmentSet)的注册属性加成同步到 actor 的属性修改器上。
全局游戏状态:开关(bool)、变量(数字)、独立变量(按作用域)。
角色成长:等级 / 经验 / 升级。
掉落表:按概率随机掉落物品到背包。
Generation-safe ordered RPG party relationships.
Player-equivalent control adapter for persistent RPG product loops.
Atomic orchestration for claiming data-driven quest rewards.
任务 / 成就 / 教程的通用定义模板与进程级注册表。
Transactional composition of persistent RPG state owners.
RPG vocabulary for the .dnut sequence language, plus its catalogue and session.
Strict, atomically replaceable RPG shop content.
Atomic RPG currency and inventory purchase/sale orchestration.
The single Squirrel projection for common Result, Status and Value.
Versioned, resumable presentation-event sequencing for RPG games.
目标追踪器运行时实例(玩家日志 / 成就 / 教程可各建一份)。
特征(Trait):RPG Maker 式数据驱动的能力/特性模板与进程级注册表。
当前资源(hp/mana...)的受伤 / 治疗 / 复活 / 死亡。
Atomic settlement of persistent world loot interactions.
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
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
bool isValid() const noexcept
Return whether this reference is valid and non-nil.
Definition SubjectRef.h:38
Value * find(const std::string &key) noexcept
Return an object member, or nullptr when absent.
Definition Value.cpp:124
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 eve::Result< std::string > queueAction(Battle *battle, RPGActor *actor, const std::string &tacticsId)
Select the first matching rule and queue it through Battle's canonical checked API.
Definition BattleTactics.cpp:153
static eve::Result< int > replaceFromJsonStrict(const std::string &json)
Validate and atomically replace all tactic definitions.
Definition BattleTactics.cpp:46
static eve::Result< BattleVictoryReceipt > settle(RPGActor &actor, GameState &gameState, Tracker &tracker, const BattleVictoryRequest &request)
Atomically settle XP, derived class skills, attributes, quest progress, and encounter consumption.
Definition BattleVictory.cpp:45
一场回合制战斗(任意阵营数)。 @ownership 由调用方创建/销毁;Battle 不持有参与者的所有权(参与者为借用 ECS actor)。 @thread 在单一模拟线程上驱动整场战斗。
Definition Battle.h:54
RPGActor * getActor(int index) const
Return a participant actor by index, or null when out of range.
Definition Battle.cpp:467
void setAction(RPGActor *actor, const std::string &skillId, RPGActor *target=nullptr)
为参战者设置本回合行动;target 为空由目标规则自动解析。
Definition Battle.cpp:183
RPGActor * getEventCaster(int index) const
Return the caster of a polled event, or null when out of range.
Definition Battle.cpp:494
RPGActor * getEventTarget(int index) const
Return the target of a polled event, or null when out of range.
Definition Battle.cpp:498
static int loadFromJson(const std::string &json, std::string *error=nullptr)
从 JSON 数组/对象批量注册。元素形如: { "id":"warrior","displayName":"战士", "traits":["mighty"], "learnSkills":[{"ski...
Definition Class.cpp:44
static int loadFromJson(const std::string &json, std::string *error=nullptr)
从 JSON 数组批量注册效果定义,返回成功注册的数量。 每个元素形如: { "id": "poison", "durationPolicy": "duration",...
Definition Effect.cpp:71
static int memberCount(const std::string &id)
Return the number of ordered enemy members in an encounter, or zero when unknown.
Definition EncounterCatalogue.cpp:186
static eve::Result< int > replaceFromJsonStrict(const std::string &json)
Validate and atomically replace every encounter definition.
Definition EncounterCatalogue.cpp:63
static RPGActor * createMemberActor(const std::string &id, int memberIndex)
Create one indexed member of an encounter composition.
Definition EncounterCatalogue.cpp:195
static const EncounterDefinition * find(const std::string &id)
Finds .
Definition EncounterCatalogue.cpp:181
static RPGActor * createActor(const std::string &id)
Create and initialize an ECS-owned enemy actor from one definition.
Definition EncounterCatalogue.cpp:191
static int registerItemStatsFromJson(const std::string &itemId, const std::string &json)
批量注册某物品的属性加成;返回成功条数。
Definition EquipmentSystem.cpp:28
static int syncEquipModifiers(RPGActor *actor, eve::inventory::EquipmentSet *equip)
把装备栏当前装备同步为 actor 属性修改器(先清旧再施加)。
Definition EquipmentSystem.cpp:60
void clearSelfString(const std::string &scope, const std::string &name)
Remove one scoped string fact; no-op when absent.
Definition GameState.cpp:105
void setSelfString(const std::string &scope, const std::string &name, std::string value)
Scoped string facts (for example a .dnut story cursor JSON blob).
Definition GameState.cpp:88
bool hasSelfVariable(const std::string &scope, const std::string &name) const
True when self variable.
Definition GameState.cpp:82
std::string getSelfString(const std::string &scope, const std::string &name) const
Return a scoped string fact, or an empty string when absent.
Definition GameState.cpp:92
bool hasSelfString(const std::string &scope, const std::string &name) const
Whether a scoped string fact is present.
Definition GameState.cpp:99
static void pollLevelUps(std::vector< LevelUpEvent > &out)
取出并清空自上次调用以来累积的升级事件(push/poll 风格)。
Definition LevelSystem.cpp:136
static int registerTablesFromJson(const std::string &json)
Registers tables from json.
Definition LootSystem.cpp:24
static int roll(const std::string &tableId, eve::inventory::Bag *bag, std::mt19937 &rng)
按掉落表 roll 一次,把命中的物品加入 bag。
Definition LootSystem.cpp:70
Authoritative ordered relationship between stable party member IDs and RPG actors....
Definition Party.h:24
RPGActor * findMemberActor(const std::string &memberId) const
Resolve a member by stable ID.
Definition Party.cpp:97
static int loadFromJson(const std::string &json, std::string *error=nullptr)
从 JSON 数组/对象批量注册;缺 id、重复 objective id、环形 requires 的定义被拒绝。
Definition Quest.cpp:183
static eve::Result< int > replaceFromJsonStrict(const std::string &json)
Strictly validate and atomically replace every registered quest definition.
Definition Quest.cpp:226
static bool contains(const std::string &id)
Return whether one exact stable quest id is registered.
Definition Quest.cpp:181
static eve::Result< int > claim(Tracker &tracker, GameState &gameState, inventory::Bag &bag, const std::string &questId)
Validate and atomically claim every reward declared by one ready quest.
Definition QuestReward.cpp:25
int removeTraitsByTrait(const std::string &traitId)
Definition RPGActor.cpp:286
std::string canCastSkillReason(const std::string &skillId)
不能释放的原因("" = 可以)。
Definition RPGActor.cpp:215
std::string getStatusEffectId(int index)
Definition RPGActor.cpp:133
int getClassLearnLevelAt(int index)
Definition RPGActor.cpp:352
int removeAttributeModifiersBySource(const std::string &attribute, const std::string &source)
Definition RPGActor.cpp:92
int removeAllAttributeModifiersBySource(const std::string &source)
Definition RPGActor.cpp:98
static RPGActor * createActor()
创建一个空白 actor(三张表均为空,按需惰性写入),并纳入 liveActors() 跟踪。
Definition RPGActor.cpp:28
int removeStatusByTag(const std::string &tag)
Definition RPGActor.cpp:123
void setSkillCooldown(const std::string &skillId, float seconds)
Definition RPGActor.cpp:207
int removeStatusBySource(const std::string &source)
Definition RPGActor.cpp:119
std::string getBuffEffectId(int index)
Definition RPGActor.cpp:176
bool hasAttribute(const std::string &attribute)
Definition RPGActor.cpp:71
bool forgetSkill(const std::string &skillId)
Definition RPGActor.cpp:201
std::string getBuffProp(int instanceId, const std::string &key, const std::string &fallback={})
Definition RPGActor.cpp:186
int applyBuff(const std::string &effectId, const std::string &source="")
Buff 别名(与 Status API 等价,便于游戏侧按习惯命名)。
Definition RPGActor.cpp:154
std::string getTraitSourceAt(int index)
Definition RPGActor.cpp:300
int removeTraitsBySource(const std::string &source)
Definition RPGActor.cpp:282
bool canCastSkill(const std::string &skillId)
Definition RPGActor.cpp:211
int getTraitInstanceIdAt(int index)
Definition RPGActor.cpp:294
bool knowsSkill(const std::string &skillId)
Definition RPGActor.cpp:199
int removeBuffByEffect(const std::string &effectId)
Definition RPGActor.cpp:160
bool hasStatusTag(const std::string &tag)
Definition RPGActor.cpp:129
int removeStatusByEffect(const std::string &effectId)
Definition RPGActor.cpp:115
int removeBuffBySource(const std::string &source)
Definition RPGActor.cpp:164
std::string getClassLearnSkillIdAt(int index)
Definition RPGActor.cpp:348
bool setBuffProp(int instanceId, const std::string &key, const std::string &value)
Definition RPGActor.cpp:191
int getStatusInstanceId(int index)
Definition RPGActor.cpp:141
bool setStatusProp(int instanceId, const std::string &key, const std::string &value)
Definition RPGActor.cpp:150
std::string getStatusSource(int index)
Definition RPGActor.cpp:143
bool isStateResist(const std::string &stateId)
Definition RPGActor.cpp:316
bool removeTrait(int instanceId)
移除一个特征(compatibility facade (脚本兼容门面);成功返回 true)。
Definition RPGActor.cpp:280
std::string getStatusProp(int instanceId, const std::string &key, const std::string &fallback={})
Definition RPGActor.cpp:145
float getStatusRemaining(int index)
Definition RPGActor.cpp:139
int applyEffect(const std::string &effectId, const std::string &source="")
状态(buff/debuff)—— Statuses ECS 组件的薄封装。
Definition RPGActor.cpp:108
int removeBuffByTag(const std::string &tag)
Definition RPGActor.cpp:168
float getSkillCooldown(const std::string &skillId)
Definition RPGActor.cpp:203
std::string getContentVersion() const
Return an owning copy of the configured content contract identifier.
Definition RPGSaveSession.h:87
int rollLoot(const std::string &tableId, inventory::Bag *bag, int seed)
用种子随机流 roll 掉落表,把命中物品加入背包;返回掉落物品种类数。
Definition RPG.cpp:362
int syncEquipModifiers(RPGActor *actor, inventory::EquipmentSet *equip)
把装备栏当前装备同步为 actor 属性修改器;返回施加条数。
Definition RPG.cpp:350
int getEncounterMemberCount(const std::string &encounterId) const
Returns the encounter member count.
Definition RPG.cpp:197
bool hasSettlementStage(const std::string &pipeline, const std::string &stage)
True when settlement stage.
Definition RPG.cpp:535
eve::Result< int > claimQuestRewards(Tracker *tracker, GameState *gameState, inventory::Bag *bag, const std::string &questId)
Atomically complete one ready quest and apply all item/attribute rewards.
Definition RPG.cpp:77
eve::Result< std::string > queueBattleTactic(Battle *battle, RPGActor *actor, const std::string &tacticsId)
Select and queue one action from a registered tactics definition.
Definition RPG.cpp:234
std::string getStatusChangeEventEffectId(int index) const
Returns the status change event effect id.
Definition RPG.cpp:482
eve::Result< int > replaceShopOffersFromJson(const std::string &json)
Strictly validate and atomically replace the authoritative shop catalogue.
Definition RPG.cpp:128
bool setSettlementStageEnabled(const std::string &pipeline, const std::string &stage, bool enabled)
Sets the settlement stage enabled.
Definition RPG.cpp:539
RPGActor * getTickEventActor(int index) const
Returns the actor referenced by a retained tick event, or null for an invalid index.
Definition RPG.cpp:445
void runSettlement(const std::string &pipeline, SettlementContext *ctx)
Run settlement.
Definition RPG.cpp:526
eve::Result< int > replaceEncountersFromJson(const std::string &json)
Strictly replace the data-driven encounter catalogue.
Definition RPG.cpp:190
void clearStoryEvents()
Clear story-event content during teardown or content-package rollback.
Definition RPG.cpp:241
int registerSkillDamage(const std::string &skillId, const std::string &damageType, const std::string &formula, const std::string &element, double critChance, int hitChance)
技能伤害注册(战斗用)与战斗对象。
Definition RPG.cpp:375
eve::Result< int > sellToShop(GameState *gameState, inventory::Bag *bag, const std::string ¤cyId, const std::string &itemId, int quantity, double unitPrice)
Atomically remove sold items from Bag and credit GameState currency.
Definition RPG.cpp:118
RPGActor * getStatusChangeEventActor(int index) const
Returns the actor referenced by a status event, or null for an invalid index.
Definition RPG.cpp:472
std::string getVitalsEventSource(int index) const
Returns the vitals event source.
Definition RPG.cpp:325
int getTickEventInstanceId(int index) const
Returns the tick event instance id.
Definition RPG.cpp:450
eve::Result< int > replaceBattleTacticsFromJson(const std::string &json)
Strictly replace ordered companion/AI battle tactics.
Definition RPG.cpp:230
bool setSettlementStagePriority(const std::string &pipeline, const std::string &stage, int priority)
Sets the settlement stage priority.
Definition RPG.cpp:544
std::string getEncounterDisplayName(const std::string &encounterId) const
Returns the encounter display name.
Definition RPG.cpp:206
RPGActor * getCastEventTarget(int index) const
Returns the target referenced by a cast event, or null for an invalid index.
Definition RPG.cpp:514
double getVitalsEventCurrent(int index) const
Returns the vitals event current.
Definition RPG.cpp:330
int getStatusChangeEventInstanceId(int index) const
Returns the status change event instance id.
Definition RPG.cpp:477
std::string getShopOfferDescription(int index) const
Returns the shop offer description.
Definition RPG.cpp:155
int getSettlementStageCount(const std::string &pipeline)
Returns the settlement stage count.
Definition RPG.cpp:531
eve::Result< int > buyShopOffer(GameState *gameState, inventory::Bag *bag, const std::string ¤cyId, const std::string &offerId, int quantity)
Buy using the item and price from the authoritative shop catalogue.
Definition RPG.cpp:170
std::string getStatusChangeEventAction(int index) const
Returns the status change event action.
Definition RPG.cpp:492
std::string getVitalsEventAction(int index) const
Returns the vitals event action.
Definition RPG.cpp:315
StoryEventSession * newStoryEventSession()
Create an empty caller-owned story-event session.
Definition RPG.cpp:246
RPGActor * newEncounterActor(const std::string &encounterId)
Create the first member through the single-enemy compatibility facade.
Definition RPG.cpp:200
WorldState * newWorldState(GameState *gameState)
Create a typed per-map object-state adapter over one GameState owner.
Definition RPG.cpp:413
RPGActor * getLevelUpEventActor(int index) const
Returns the level up event actor.
Definition RPG.cpp:288
std::string getShopOfferItemId(int index) const
Returns the shop offer item id.
Definition RPG.cpp:145
bool hasStory(const std::string &storyId) const
Return whether an exact .dnut story id exists.
Definition RPG.cpp:252
void clearSettlementPipeline(const std::string &pipeline)
Clears settlement pipeline.
Definition RPG.cpp:553
std::string getStatusChangeEventReason(int index) const
Returns the status change event reason.
Definition RPG.cpp:502
void clearShopOffers()
Clear the shop catalogue for teardown or failed initial publication rollback.
Definition RPG.cpp:134
std::string getStatusChangeEventSource(int index) const
Returns the status change event source.
Definition RPG.cpp:487
int registerItemStatsFromJson(const std::string &itemId, const std::string &json)
装备加成(物品 id → 属性加成)注册与同步。
Definition RPG.cpp:340
eve::Result< int > collectWorldLoot(Tracker *tracker, GameState *gameState, inventory::Bag *bag, const WorldLootRequest &request)
Atomically settle one persistent loot object across world, quest, state and inventory owners.
Definition RPG.cpp:87
double getEncounterMemberMaxHp(const std::string &encounterId, int memberIndex) const
Returns the encounter member max hp.
Definition RPG.cpp:222
std::string getVitalsEventResource(int index) const
Returns the vitals event resource.
Definition RPG.cpp:310
int getStatusChangeEventCount() const
状态生命周期变更事件(apply/refresh/extend/stack/remove/expire/reject)。
Definition RPG.cpp:470
RPGActor * getVitalsEventActor(int index) const
Returns the vitals event actor.
Definition RPG.cpp:305
eve::Result< int > replaceStoryEventsFromJson(const std::string &json)
Strictly validate and atomically replace versioned story-event content.
Definition RPG.cpp:238
Result< std::unique_ptr< ProductControl > > newProductControl(SubjectRef instance, GameState *gameState, Tracker *tracker, inventory::Bag *bag)
Create a unified shop, quest-reward and world-loot control adapter.
Definition RPG.cpp:401
eve::Result< int > replaceStoriesFromDnut(const std::string &source, const std::string &path)
Strictly compile and atomically publish .dnut story content for the RPG dialect.
Definition RPG.cpp:247
eve::Result< int > replaceQuestsFromJson(const std::string &json)
Strictly validate and atomically replace the process-local quest catalogue.
Definition RPG.cpp:67
bool hasStoryEvent(const std::string &eventId) const
Return whether an exact story-event id exists.
Definition RPG.cpp:243
int getLevelUpEventPreviousLevel(int index) const
Returns the level up event previous level.
Definition RPG.cpp:293
std::string getEncounterMemberDisplayName(const std::string &encounterId, int memberIndex) const
Returns the encounter member display name.
Definition RPG.cpp:214
void clearStories()
Clear published .dnut story content during teardown or content rollback.
Definition RPG.cpp:250
RpgStorySession * newStorySession()
Create an empty caller-owned .dnut story session.
Definition RPG.cpp:253
eve::Result< BattleVictoryReceipt > settleEncounterVictory(RPGActor *actor, Tracker *tracker, GameState *gameState, const std::string &encounterId, const std::string &mapId, const std::string &objectId)
Settle a victory using only rewards declared by the encounter catalogue.
Definition RPG.cpp:255
eve::Result< int > sellShopOffer(GameState *gameState, inventory::Bag *bag, const std::string ¤cyId, const std::string &offerId, int quantity)
Sell using the item and price from the authoritative shop catalogue.
Definition RPG.cpp:180
double getEncounterMaxHp(const std::string &encounterId) const
Returns the encounter max hp.
Definition RPG.cpp:210
bool removeSettlementStage(const std::string &pipeline, const std::string &stage)
Removes settlement stage.
Definition RPG.cpp:549
RPGActor * newEncounterMemberActor(const std::string &encounterId, int memberIndex)
Create one indexed member from an encounter composition.
Definition RPG.cpp:203
eve::Result< BattleVictoryReceipt > settleBattleVictory(RPGActor *actor, Tracker *tracker, GameState *gameState, const BattleVictoryRequest &request)
Atomically settle one victorious persistent encounter.
Definition RPG.cpp:98
int getStoryEventCount() const
Return the number of committed story-event definitions.
Definition RPG.cpp:242
int getLevelUpEventNewLevel(int index) const
Returns the level up event new level.
Definition RPG.cpp:298
RPGActor * getCastEventCaster(int index) const
Returns the caster referenced by a cast event, or null for an invalid index.
Definition RPG.cpp:509
std::string getTickEventEffectId(int index) const
Returns the tick event effect id.
Definition RPG.cpp:455
int getStatusChangeEventStacks(int index) const
Returns the status change event stacks.
Definition RPG.cpp:497
std::string getCastEventSkillId(int index) const
Returns the cast event skill id.
Definition RPG.cpp:519
bool hasShopOffer(const std::string &offerId) const
Return whether an exact shop offer id exists.
Definition RPG.cpp:136
eve::Result< int > buyFromShop(GameState *gameState, inventory::Bag *bag, const std::string ¤cyId, const std::string &itemId, int quantity, double unitPrice)
Atomically debit GameState currency and add purchased items to Bag.
Definition RPG.cpp:108
void update(float dt)
推进 StatusSystem / SkillSystem,并刷新本帧的 tick / change / cast 事件缓存。
Definition RPG.cpp:427
bool hasQuestDefinition(const std::string &id) const
Return whether one exact quest definition is present in the current catalogue.
Definition RPG.cpp:75
Result< std::unique_ptr< BattleControl > > newBattleControl(Battle *battle, SubjectRef instance)
Create a host-neutral control adapter for a caller-owned battle.
Definition RPG.cpp:392
static eve::Result< int > replaceFromDnutStrict(const std::string &source, const std::string &path)
Compile and atomically publish every story block of one document.
Definition RpgDialect.cpp:553
static bool contains(const std::string &storyId)
Return whether an exact story id is published.
Definition RpgDialect.cpp:583
Caller-owned cursor over one published .dnut story.
Definition RpgDialect.h:275
bool isBlocked() const
Whether the story is suspended and awaiting acknowledgement.
Definition RpgDialect.cpp:765
std::string getStepKind() const
Current step type (move, choice, wait, …), or an empty string.
Definition RpgDialect.cpp:769
std::string getStoryId() const
Owning copy of the running story id, or an empty string.
Definition RpgDialect.cpp:767
static bool unregisterStage(const std::string &pipeline, const std::string &stage)
Unregisters stage.
Definition Settlement.cpp:100
static void run(const std::string &pipeline, SettlementContext &ctx)
按 priority 升序依次执行 pipeline 内已启用的阶段;ctx.cancelled 时提前终止。
Definition Settlement.cpp:143
static bool hasStage(const std::string &pipeline, const std::string &stage)
True when stage.
Definition Settlement.cpp:130
static bool setStagePriority(const std::string &pipeline, const std::string &stage, int priority)
Sets the stage priority.
Definition Settlement.cpp:120
static bool setStageEnabled(const std::string &pipeline, const std::string &stage, bool enabled)
Sets the stage enabled.
Definition Settlement.cpp:110
static eve::Result< int > replaceFromJsonStrict(const std::string &json)
Strictly validate and atomically replace the entire offer catalogue.
Definition ShopCatalogue.cpp:48
static const ShopOffer * find(const std::string &id)
Find an offer by stable offer id, or null when absent.
Definition ShopCatalogue.cpp:109
static const ShopOffer * at(int index)
Return an offer by deterministic source index, or null when out of range.
Definition ShopCatalogue.cpp:114
static void clear()
Remove all offers. Intended for teardown and isolated tests.
Definition ShopCatalogue.cpp:102
static int count()
Return the number of committed offers in deterministic source order.
Definition ShopCatalogue.cpp:107
static eve::Result< int > sell(GameState &gameState, inventory::Bag &bag, const std::string ¤cyId, const std::string &itemId, int quantity, double unitPrice)
Atomically remove an item quantity and credit its sale proceeds.
Definition ShopTransaction.cpp:93
static eve::Result< int > sellOffer(GameState &gameState, inventory::Bag &bag, const std::string ¤cyId, const std::string &offerId, int quantity)
Sell a quantity using the authoritative price and item in ShopCatalogue.
Definition ShopTransaction.cpp:64
static eve::Result< int > buyOffer(GameState &gameState, inventory::Bag &bag, const std::string ¤cyId, const std::string &offerId, int quantity)
Buy a quantity using the authoritative price and item in ShopCatalogue.
Definition ShopTransaction.cpp:53
static eve::Result< int > buy(GameState &gameState, inventory::Bag &bag, const std::string ¤cyId, const std::string &itemId, int quantity, double unitPrice)
Atomically debit currency and add the purchased item quantity.
Definition ShopTransaction.cpp:75
static int loadFromJson(const std::string &json, std::string *error=nullptr)
从 JSON 数组批量注册技能定义,返回成功注册数量。元素形如: { "id": "fireball", "cooldown": 4, "castTime": 1....
Definition Skill.cpp:163
static void update(float dt)
遍历 RPGActor::liveActors():冷却倒计时 + 读条推进/结算。
Definition SkillSystem.cpp:158
static void pollCastEvents(std::vector< SkillCastEvent > &out)
Polls cast events.
Definition SkillSystem.cpp:175
static void pollChanges(std::vector< StatusChangeEvent > &out)
取出并清空自上次调用以来累积的生命周期变更事件。
Definition StatusSystem.cpp:842
static void pollTicks(std::vector< StatusTickEvent > &out)
取出并清空自上次调用以来累积的周期 tick 事件(push/poll 风格,见 event 模块)。
Definition StatusSystem.cpp:836
static eve::Result< StatusUpdateSummary > update(double dt)
Advance all live RPG status executors with an injected simulation delta.
Definition StatusSystem.cpp:729
static bool contains(const std::string &eventId)
Return whether an exact stable event id exists in the current catalogue.
Definition StoryEvent.cpp:188
static int count()
Return the committed definition count on the owning content thread.
Definition StoryEvent.cpp:187
static eve::Result< int > replaceFromJsonStrict(const std::string &json)
Validate and atomically replace every story-event definition.
Definition StoryEvent.cpp:58
static void clear()
Clear all definitions on the owning content thread without invoking callbacks.
Definition StoryEvent.cpp:186
Caller-owned runtime cursor over a copied story-event definition.
Definition StoryEvent.h:68
int getStepIndex() const
Return the zero-based current cursor, or the step count after completion.
Definition StoryEvent.cpp:275
std::string getReference() const
Return an owning copy of the current dialogue/message reference.
Definition StoryEvent.cpp:282
bool isActive() const
Return whether a current step is awaiting acknowledgement.
Definition StoryEvent.cpp:273
bool isFinished() const
Return whether this session acknowledged its final step.
Definition StoryEvent.cpp:274
std::string getEventId() const
Return an owning copy of the current event id.
Definition StoryEvent.cpp:277
std::string getActorId() const
Return an owning copy of the current move actor id.
Definition StoryEvent.cpp:286
int getStepCount() const
Return the copied definition's total step count.
Definition StoryEvent.cpp:276
std::string getStepKind() const
Return the current command kind, or an empty string while inactive.
Definition StoryEvent.cpp:278
int getObjectiveCountRequired(const std::string &id, int index) const
Returns the objective count required.
Definition Tracker.cpp:206
bool isObjectiveDone(const std::string &id, int index) const
True when objective done.
Definition Tracker.cpp:213
std::string getRewardType(const std::string &id, int i) const
Returns the reward type.
Definition Tracker.cpp:225
std::string getExtra(const std::string &id, const std::string &key) const
Returns the extra.
Definition Tracker.cpp:182
int getObjectiveCount(const std::string &id) const
Returns the objective count.
Definition Tracker.cpp:187
std::string getEventObjectiveId(int i) const
Returns the event objective id.
Definition Tracker.cpp:250
bool hasTag(const std::string &id, const std::string &tag) const
True when tag.
Definition Tracker.cpp:177
bool fail(const std::string &id, const std::string &reason)
失败任务(compatibility facade (脚本兼容门面))。
Definition Tracker.cpp:35
void notify(const std::string &topic, const std::string &target, int amount)
Notify.
Definition Tracker.cpp:25
std::string getRewardId(const std::string &id, int i) const
Returns the reward id.
Definition Tracker.cpp:231
std::string getObjectiveId(const std::string &id, int index) const
Returns the objective id.
Definition Tracker.cpp:192
int getObjectiveCurrent(const std::string &id, int index) const
Returns the objective current.
Definition Tracker.cpp:199
static int loadFromJson(const std::string &json, std::string *error=nullptr)
从 JSON 数组/对象批量注册,返回成功数量。元素形如: { "id":"fire_resist", "traits":[{"kind":"elementRate",...
Definition Trait.cpp:44
static void pollEvents(std::vector< VitalsEvent > &out)
取出并清空自上次调用以来累积的资源事件(push/poll 风格)。
Definition VitalsSystem.cpp:99
static eve::Result< int > collectLoot(GameState &gameState, Tracker &tracker, inventory::Bag &bag, const WorldLootRequest &request)
Atomically grant loot, notify quest progress, and consume one world object.
Definition WorldInteraction.cpp:37
Non-owning typed adapter for persistent per-map object lifecycle state.
Definition WorldState.h:19
bool isObjectConsumed(std::string_view mapId, std::string_view objectId) const
Query whether a stable object has been consumed in one map.
Definition WorldState.cpp:23
static eve::Result< SettlementRuleSet > fromJson(std::string_view json)
Decode and compile a strict versioned JSON rule document without mutating an existing rule set.
Definition SettlementRuleJson.cpp:165
BattleTargetPolicy
Deterministic target-selection policies for queued battle actions.
Definition Battle.h:36
@ LowestHealthEnemy
@ LowestHealthAlly
RPGSaveIdDomain
Definition-reference field kinds supported by direct RPG save ID migrations.
Definition RPGSaveSession.h:30
@ TraitSource
@ EquipmentSlot
@ QuestObjective
ssq::Table projectResult(HSQUIRRELVM vm, Result< void > &&result)
Consume and project a void native Result using the common schema.
Definition SquirrelBinding.cpp:470
@ InvalidArgument
@ NotFound
Definition Container.h:602
Complete data needed to settle one victorious persistent encounter.
Definition BattleVictory.h:21
Complete data needed to settle one persistent loot object.
Definition WorldInteraction.h:24