10 fout.
write(uint32_t(aiActions.size()));
11 for(
auto& i:aiActions){
12 fout.
write(uint32_t(i.act));
13 fout.
write(i.target,i.victim);
14 fout.
write(i.point,i.func,i.i0,i.i1,i.s0);
16 fout.
write(i.i2,i.s1);
23 aiActions.resize(
size);
24 for(
auto& i:aiActions){
25 fin.
read(
reinterpret_cast<uint32_t&
>(i.act));
26 fin.
read(i.target,i.victim);
27 fin.
read(i.point,i.func,i.i0,i.i1,i.s0);
38 if(aiActions.size()>0) {
44 aiActions.push_back(a);
52 aiActions.push_front(a);
56 auto act = std::move(aiActions.front());
57 aiActions.pop_front();
62 int v = std::numeric_limits<int>::max();
63 for(
auto& i:aiActions)
70 for(
auto& i:aiActions)
void pushFront(AiAction &&a)
int aiOutputOrderId() const
static AiAction aiPlayAnimBs(std::string_view ani, BodyState bs)
void onWldItemRemoved(const Item &itm)
static AiAction aiTakeItem(Item &item)
static AiAction aiReadyRangedWeapon()
static AiAction aiEquipBestRangedWeapon()
static AiAction aiAlignToWp()
static AiAction aiUseMob(std::string_view name, int st)
static AiAction aiUseItemToState(int32_t id, int32_t state)
static AiAction aiGotoItem(Item &item)
static AiAction aiRemoveWeapon()
static AiAction aiDrawWeapon()
static AiAction aiStopLookAt()
static AiAction aiLookAtNpc(Npc *other)
static AiAction aiPointAtNpc(Npc &other)
static AiAction aiAttack()
static AiAction aiWhirlToNpc(Npc *other)
static AiAction aiTurnAway(Npc *other)
static AiAction aiPointAt(const WayPoint &to)
static AiAction aiStartState(ScriptFn stateFn, int behavior, Npc *other, Npc *victim, std::string_view wp)
static AiAction aiTurnToNpc(Npc *other)
static AiAction aiUnEquipArmor()
static AiAction aiReadyMeleeWeapon()
static AiAction aiPrintScreen(int time, std::string_view font, int x, int y, std::string_view msg)
static AiAction aiOutputSvmOverlay(Npc &to, std::string_view text, int order)
static AiAction aiReadySpell(int32_t spell, int32_t mana)
static AiAction aiDodge()
static AiAction aiSetNpcsToState(ScriptFn func, int32_t radius)
static AiAction aiUseItem(int32_t id)
static AiAction aiUnEquipWeapons()
static AiAction aiLookAt(const WayPoint *to)
static AiAction aiEquipBestArmor()
static AiAction aiStandup()
void pushBack(AiAction &&a)
static AiAction aiProcessInfo(Npc &other)
static AiAction aiTeleport(const WayPoint &to)
static AiAction aiOutputSvm(Npc &to, std::string_view text, int order)
void save(Serialize &fout) const
void load(Serialize &fin)
static AiAction aiSetWalkMode(WalkBit w)
static AiAction aiContinueRoutine()
static AiAction aiGoToNpc(Npc *other)
static AiAction aiGoToPoint(const WayPoint &to)
static AiAction aiAlignToFp()
static AiAction aiWait(uint64_t dt)
static AiAction aiEquipArmor(int32_t id)
static AiAction aiFinishingMove(Npc &other)
static AiAction aiGoToNextFp(std::string_view fp)
static AiAction aiStopProcessInfo(int order)
static AiAction aiEquipBestMeleeWeapon()
static AiAction aiStopPointAt()
static AiAction aiPlayAnim(std::string_view ani)
static AiAction aiStandupQuick()
static AiAction aiOutput(Npc &to, std::string_view text, int order)
void write(const Arg &... a)