1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-01-14 02:33:51 +02:00

Use ArtifactID instead of int when possible

This commit is contained in:
ArseniyShestakov 2014-12-24 18:49:12 +03:00
parent 5995c975d3
commit 937ef0227b
8 changed files with 11 additions and 10 deletions

View File

@ -122,7 +122,7 @@ void CArtPlace::clickLeft(tribool down, bool previousState)
// If clicked on spellbook, open it only if no artifact is held at the moment. // If clicked on spellbook, open it only if no artifact is held at the moment.
if(ourArt && !down && previousState && !ourOwner->commonInfo->src.AOH) if(ourArt && !down && previousState && !ourOwner->commonInfo->src.AOH)
{ {
if(ourArt->artType->id == 0) if(ourArt->artType->id == ArtifactID::SPELLBOOK)
{ {
auto spellWindow = new CSpellWindow(genRect(595, 620, (screen->w - 620)/2, (screen->h - 595)/2), ourOwner->curHero, LOCPLINT, LOCPLINT->battleInt); auto spellWindow = new CSpellWindow(genRect(595, 620, (screen->w - 620)/2, (screen->h - 595)/2), ourOwner->curHero, LOCPLINT, LOCPLINT->battleInt);
GH.pushInt(spellWindow); GH.pushInt(spellWindow);
@ -131,7 +131,7 @@ void CArtPlace::clickLeft(tribool down, bool previousState)
if (!down && previousState) if (!down && previousState)
{ {
if(ourArt && ourArt->artType->id == 0) //spellbook if(ourArt && ourArt->artType->id == ArtifactID::SPELLBOOK)
return; //this is handled separately return; //this is handled separately
if(!ourOwner->commonInfo->src.AOH) //nothing has been clicked if(!ourOwner->commonInfo->src.AOH) //nothing has been clicked
@ -139,7 +139,7 @@ void CArtPlace::clickLeft(tribool down, bool previousState)
if(ourArt //to prevent selecting empty slots (bugfix to what GrayFace reported) if(ourArt //to prevent selecting empty slots (bugfix to what GrayFace reported)
&& ourOwner->curHero->tempOwner == LOCPLINT->playerID)//can't take art from another player && ourOwner->curHero->tempOwner == LOCPLINT->playerID)//can't take art from another player
{ {
if(ourArt->artType->id == 3) //catapult cannot be highlighted if(ourArt->artType->id == ArtifactID::CATAPULT) //catapult cannot be highlighted
{ {
std::vector<CComponent *> catapult(1, new CComponent(CComponent::artifact, 3, 0)); std::vector<CComponent *> catapult(1, new CComponent(CComponent::artifact, 3, 0));
LOCPLINT->showInfoDialog(CGI->generaltexth->allTexts[312], catapult); //The Catapult must be equipped. LOCPLINT->showInfoDialog(CGI->generaltexth->allTexts[312], catapult); //The Catapult must be equipped.
@ -380,7 +380,7 @@ void CArtPlace::setArtifact(const CArtifactInstance *art)
else else
text = '{' + ourArt->artType->Name() + "}\n\n" + artDesc; //workaround for new artifacts with single name, turns it to H3-style text = '{' + ourArt->artType->Name() + "}\n\n" + artDesc; //workaround for new artifacts with single name, turns it to H3-style
if(art->artType->id == 1) //spell scroll if(art->artType->id == ArtifactID::SPELL_SCROLL)
{ {
// we expect scroll description to be like this: This scroll contains the [spell name] spell which is added into your spell book for as long as you carry the scroll. // we expect scroll description to be like this: This scroll contains the [spell name] spell which is added into your spell book for as long as you carry the scroll.
// so we want to replace text in [...] with a spell name // so we want to replace text in [...] with a spell name

View File

@ -815,7 +815,7 @@ void CCastleBuildings::enterMagesGuild()
CFunctionList<void()> onYes = [this]{ openMagesGuild(); }; CFunctionList<void()> onYes = [this]{ openMagesGuild(); };
CFunctionList<void()> onNo = onYes; CFunctionList<void()> onNo = onYes;
onYes += [hero]{ LOCPLINT->cb->buyArtifact(hero, ArtifactID::SPELLBOOK); }; onYes += [hero]{ LOCPLINT->cb->buyArtifact(hero, ArtifactID::SPELLBOOK); };
std::vector<CComponent*> components(1, new CComponent(CComponent::artifact,0,0)); std::vector<CComponent*> components(1, new CComponent(CComponent::artifact,ArtifactID::SPELLBOOK,0));
LOCPLINT->showYesNoDialog(CGI->generaltexth->allTexts[214], onYes, onNo, true, components); LOCPLINT->showYesNoDialog(CGI->generaltexth->allTexts[214], onYes, onNo, true, components);
} }

View File

@ -1460,7 +1460,7 @@ void CAltarWindow::showAll(SDL_Surface * to)
bool CAltarWindow::putOnAltar(CTradeableItem* altarSlot, const CArtifactInstance *art) bool CAltarWindow::putOnAltar(CTradeableItem* altarSlot, const CArtifactInstance *art)
{ {
int artID = art->artType->id; int artID = art->artType->id;
if(artID != 1 && artID < 7) //special art if(artID != ArtifactID::SPELL_SCROLL && artID < 7) //special art
{ {
logGlobal->warnStream() << "Cannot put special artifact on altar!"; logGlobal->warnStream() << "Cannot put special artifact on altar!";
return false; return false;

View File

@ -78,7 +78,7 @@ CArtifact::~CArtifact()
int CArtifact::getArtClassSerial() const int CArtifact::getArtClassSerial() const
{ {
if(id == 1) if(id == ArtifactID::SPELL_SCROLL)
return 4; return 4;
switch(aClass) switch(aClass)
{ {

View File

@ -779,6 +779,7 @@ public:
FIRST_AID_TENT = 6, FIRST_AID_TENT = 6,
//CENTAUR_AXE = 7, //CENTAUR_AXE = 7,
//BLACKSHARD_OF_THE_DEAD_KNIGHT = 8, //BLACKSHARD_OF_THE_DEAD_KNIGHT = 8,
TITANS_THUNDER = 135,
//CORNUCOPIA = 140, //CORNUCOPIA = 140,
ART_SELECTION = 144, ART_SELECTION = 144,
ART_LOCK = 145, ART_LOCK = 145,

View File

@ -909,7 +909,7 @@ DLL_LINKAGE void MoveArtifact::applyGs( CGameState *gs )
a->move(src, dst); a->move(src, dst);
//TODO what'll happen if Titan's thunder is equipped by pickin git up or the start of game? //TODO what'll happen if Titan's thunder is equipped by pickin git up or the start of game?
if (a->artType->id == 135 && dst.slot == ArtifactPosition::RIGHT_HAND) //Titan's Thunder creates new spellbook on equip if (a->artType->id == ArtifactID::TITANS_THUNDER && dst.slot == ArtifactPosition::RIGHT_HAND) //Titan's Thunder creates new spellbook on equip
{ {
auto hPtr = boost::get<ConstTransitivePtr<CGHeroInstance> >(&dst.artHolder); auto hPtr = boost::get<ConstTransitivePtr<CGHeroInstance> >(&dst.artHolder);
if(hPtr) if(hPtr)

View File

@ -1229,7 +1229,7 @@ void CMapLoaderH3M::readObjects()
if(objTempl.id == Obj::SPELL_SCROLL) if(objTempl.id == Obj::SPELL_SCROLL)
{ {
spellID = reader.readUInt32(); spellID = reader.readUInt32();
artID = 1; artID = ArtifactID::SPELL_SCROLL;
} }
else if(objTempl.id == Obj::ARTIFACT) else if(objTempl.id == Obj::ARTIFACT)
{ {

View File

@ -522,7 +522,7 @@ void CGameHandler::endBattle(int3 tile, const CGHeroInstance *hero1, const CGHer
MoveArtifact ma; MoveArtifact ma;
ma.src = ArtifactLocation (finishingBattle->loserHero, artSlot.first); ma.src = ArtifactLocation (finishingBattle->loserHero, artSlot.first);
const CArtifactInstance * art = ma.src.getArt(); const CArtifactInstance * art = ma.src.getArt();
if (art && !art->artType->isBig() && art->artType->id != 0) // don't move war machines or locked arts (spellbook) if (art && !art->artType->isBig() && art->artType->id != ArtifactID::SPELLBOOK) // don't move war machines or locked arts (spellbook)
{ {
arts.push_back (art->artType->id); arts.push_back (art->artType->id);
ma.dst = ArtifactLocation (finishingBattle->winnerHero, art->firstAvailableSlot(finishingBattle->winnerHero)); ma.dst = ArtifactLocation (finishingBattle->winnerHero, art->firstAvailableSlot(finishingBattle->winnerHero));