Selaa lähdekoodia

NetPacks: add BATTLE type to GiveBonus

Will work as battlefield effect of current battle.
Konstantin 2 vuotta sitten
vanhempi
sitoutus
89fd742c1a
2 muutettua tiedostoa jossa 5 lisäystä ja 1 poistoa
  1. 1 1
      lib/NetPacks.h
  2. 4 0
      lib/NetPacksLib.cpp

+ 1 - 1
lib/NetPacks.h

@@ -349,7 +349,7 @@ struct DLL_LINKAGE SetAvailableHeroes : public CPackForClient
 
 struct DLL_LINKAGE GiveBonus : public CPackForClient
 {
-	enum class ETarget : ui8 { HERO, PLAYER, TOWN };
+	enum class ETarget : ui8 { HERO, PLAYER, TOWN, BATTLE };
 	
 	GiveBonus(ETarget Who = ETarget::HERO)
 		:who(Who)

+ 4 - 0
lib/NetPacksLib.cpp

@@ -961,6 +961,10 @@ void GiveBonus::applyGs(CGameState *gs)
 	case ETarget::TOWN:
 		cbsn = gs->getTown(ObjectInstanceID(id));
 		break;
+	case ETarget::BATTLE:
+		assert(Bonus::OneBattle(&bonus));
+		cbsn = dynamic_cast<CBonusSystemNode*>(gs->curB.get());
+		break;
 	}
 
 	assert(cbsn);