浏览代码

Fix for starting hero being passable

Tomasz Zieliński 1 年之前
父节点
当前提交
cef25cca03
共有 2 个文件被更改,包括 8 次插入0 次删除
  1. 7 0
      lib/mapObjects/CGHeroInstance.cpp
  2. 1 0
      lib/mapObjects/CGHeroInstance.h

+ 7 - 0
lib/mapObjects/CGHeroInstance.cpp

@@ -150,6 +150,11 @@ bool CGHeroInstance::isCoastVisitable() const
 	return true;
 }
 
+bool CGHeroInstance::isBlockedVisitable() const
+{
+	return true;
+}
+
 BattleField CGHeroInstance::getBattlefield() const
 {
 	return BattleField::NONE;
@@ -281,6 +286,7 @@ CGHeroInstance::CGHeroInstance():
 	ID = Obj::HERO;
 	secSkills.emplace_back(SecondarySkill::NONE, -1);
 	blockVisit = true;
+	removable = true;
 }
 
 PlayerColor CGHeroInstance::getOwner() const
@@ -301,6 +307,7 @@ void CGHeroInstance::setHeroType(HeroTypeID heroType)
 
 void CGHeroInstance::initHero(CRandomGenerator & rand, const HeroTypeID & SUBID)
 {
+	blockVisit = true;
 	subID = SUBID.getNum();
 	initHero(rand);
 }

+ 1 - 0
lib/mapObjects/CGHeroInstance.h

@@ -301,6 +301,7 @@ public:
 	void updateFrom(const JsonNode & data) override;
 
 	bool isCoastVisitable() const override;
+	bool isBlockedVisitable() const override;
 	BattleField getBattlefield() const override;
 protected:
 	void setPropertyDer(ObjProperty what, ObjPropertyID identifier) override;//synchr