mirror of
https://github.com/vcmi/vcmi.git
synced 2025-07-15 01:24:45 +02:00
netpacks
This commit is contained in:
@ -42,6 +42,7 @@ public:
|
||||
virtual void visitSetSecSkill(SetSecSkill & pack) {}
|
||||
virtual void visitHeroVisitCastle(HeroVisitCastle & pack) {}
|
||||
virtual void visitChangeSpells(ChangeSpells & pack) {}
|
||||
virtual void visitSetTownSpells(SetTownSpells & pack) {}
|
||||
virtual void visitSetMana(SetMana & pack) {}
|
||||
virtual void visitSetMovePoints(SetMovePoints & pack) {}
|
||||
virtual void visitFoWChange(FoWChange & pack) {}
|
||||
@ -128,6 +129,7 @@ public:
|
||||
virtual void visitBuildStructure(BuildStructure & pack) {}
|
||||
virtual void visitVisitTownBuilding(VisitTownBuilding & pack) {}
|
||||
virtual void visitRazeStructure(RazeStructure & pack) {}
|
||||
virtual void visitSpellResearch(SpellResearch & pack) {}
|
||||
virtual void visitRecruitCreatures(RecruitCreatures & pack) {}
|
||||
virtual void visitUpgradeCreature(UpgradeCreature & pack) {}
|
||||
virtual void visitGarrisonHeroSwap(GarrisonHeroSwap & pack) {}
|
||||
|
@ -162,6 +162,10 @@ void ChangeSpells::visitTyped(ICPackVisitor & visitor)
|
||||
visitor.visitChangeSpells(*this);
|
||||
}
|
||||
|
||||
void SetTownSpells::visitTyped(ICPackVisitor & visitor)
|
||||
{
|
||||
visitor.visitSetTownSpells(*this);
|
||||
}
|
||||
void SetMana::visitTyped(ICPackVisitor & visitor)
|
||||
{
|
||||
visitor.visitSetMana(*this);
|
||||
@ -592,6 +596,11 @@ void RazeStructure::visitTyped(ICPackVisitor & visitor)
|
||||
visitor.visitRazeStructure(*this);
|
||||
}
|
||||
|
||||
void SpellResearch::visitTyped(ICPackVisitor & visitor)
|
||||
{
|
||||
visitor.visitSpellResearch(*this);
|
||||
}
|
||||
|
||||
void RecruitCreatures::visitTyped(ICPackVisitor & visitor)
|
||||
{
|
||||
visitor.visitRecruitCreatures(*this);
|
||||
@ -930,6 +939,13 @@ void ChangeSpells::applyGs(CGameState *gs)
|
||||
hero->removeSpellFromSpellbook(sid);
|
||||
}
|
||||
|
||||
void SetTownSpells::applyGs(CGameState *gs)
|
||||
{
|
||||
CGTownInstance *town = gs->getTown(tid);
|
||||
|
||||
town->spells[level] = spells;
|
||||
}
|
||||
|
||||
void SetMana::applyGs(CGameState *gs)
|
||||
{
|
||||
CGHeroInstance * hero = gs->getHero(hid);
|
||||
|
@ -288,6 +288,24 @@ struct DLL_LINKAGE ChangeSpells : public CPackForClient
|
||||
}
|
||||
};
|
||||
|
||||
struct DLL_LINKAGE SetTownSpells : public CPackForClient
|
||||
{
|
||||
void applyGs(CGameState * gs) override;
|
||||
|
||||
void visitTyped(ICPackVisitor & visitor) override;
|
||||
|
||||
ui8 level = 0;
|
||||
ObjectInstanceID tid;
|
||||
std::vector<SpellID> spells;
|
||||
|
||||
template <typename Handler> void serialize(Handler & h)
|
||||
{
|
||||
h & level;
|
||||
h & tid;
|
||||
h & spells;
|
||||
}
|
||||
};
|
||||
|
||||
struct DLL_LINKAGE SetMana : public CPackForClient
|
||||
{
|
||||
void applyGs(CGameState * gs) override;
|
||||
|
@ -306,6 +306,24 @@ struct DLL_LINKAGE RazeStructure : public BuildStructure
|
||||
void visitTyped(ICPackVisitor & visitor) override;
|
||||
};
|
||||
|
||||
struct DLL_LINKAGE SpellResearch : public CPackForServer
|
||||
{
|
||||
SpellResearch() = default;
|
||||
SpellResearch(const ObjectInstanceID & TID)
|
||||
: tid(TID)
|
||||
{
|
||||
}
|
||||
ObjectInstanceID tid;
|
||||
|
||||
void visitTyped(ICPackVisitor & visitor) override;
|
||||
|
||||
template <typename Handler> void serialize(Handler & h)
|
||||
{
|
||||
h & static_cast<CPackForServer &>(*this);
|
||||
h & tid;
|
||||
}
|
||||
};
|
||||
|
||||
struct DLL_LINKAGE RecruitCreatures : public CPackForServer
|
||||
{
|
||||
RecruitCreatures() = default;
|
||||
|
Reference in New Issue
Block a user