Jeck - Fixed issue 361.

This commit is contained in:
wagic.jeck
2010-02-25 14:10:13 +00:00
parent ff6f437e9a
commit febad680b1
3 changed files with 23 additions and 21 deletions
+1
View File
@@ -5,6 +5,7 @@ class ShopBooster;
class MTGPackEntry{ class MTGPackEntry{
public: public:
virtual ~MTGPackEntry() {};
virtual int addCard(WSrcCards * pool,MTGDeck * to) = 0; virtual int addCard(WSrcCards * pool,MTGDeck * to) = 0;
int copies; int copies;
}; };
+1 -2
View File
@@ -845,8 +845,7 @@ int MTGSets::size(){
//MTGSetInfo //MTGSetInfo
MTGSetInfo::~MTGSetInfo(){ MTGSetInfo::~MTGSetInfo(){
if(mPack != MTGPacks::getDefault()) SAFE_DELETE(mPack);
SAFE_DELETE(mPack);
} }
MTGSetInfo::MTGSetInfo(string _id) { MTGSetInfo::MTGSetInfo(string _id) {
string whitespaces (" \t\f\v\n\r"); string whitespaces (" \t\f\v\n\r");
+21 -19
View File
@@ -52,6 +52,8 @@ int MTGPackSlot::add(WSrcCards * ocean, MTGDeck *to, int carryover){
fails = entries[pos]->addCard(myPool,to); fails = entries[pos]->addCard(myPool,to);
#endif #endif
} }
if(myPool != ocean)
SAFE_DELETE(myPool);
return fails; return fails;
} }
@@ -232,7 +234,7 @@ void MTGPacks::loadAll(){
if(!p->isValid()){ if(!p->isValid()){
SAFE_DELETE(p); SAFE_DELETE(p);
continue; continue;
} }
packs.push_back(p); packs.push_back(p);
} }
closedir(mDip); closedir(mDip);
@@ -277,24 +279,24 @@ MTGPack * MTGPacks::getDefault(){
if(!defaultBooster.isValid()){ if(!defaultBooster.isValid()){
defaultBooster.load(RESPATH"/packs/default_booster.txt"); defaultBooster.load(RESPATH"/packs/default_booster.txt");
defaultBooster.unlockStatus = 1; defaultBooster.unlockStatus = 1;
} if(!defaultBooster.isValid()){
if(!defaultBooster.isValid()){ MTGPackSlot * ps = NEW MTGPackSlot(); ps->copies = 1;
MTGPackSlot * ps = NEW MTGPackSlot(); ps->copies = 1; ps->addEntry(NEW MTGPackEntryRandom("rarity:mythic;"));
ps->addEntry(NEW MTGPackEntryRandom("rarity:mythic;")); for(int i=0;i<7;i++)
for(int i=0;i<7;i++) ps->addEntry(NEW MTGPackEntryRandom("rarity:rare;"));
ps->addEntry(NEW MTGPackEntryRandom("rarity:rare;")); defaultBooster.slots.push_back(ps);
defaultBooster.slots.push_back(ps); ps = NEW MTGPackSlot(); ps->copies = 3;
ps = NEW MTGPackSlot(); ps->copies = 3; ps->addEntry(NEW MTGPackEntryRandom("rarity:uncommon;"));
ps->addEntry(NEW MTGPackEntryRandom("rarity:uncommon;")); defaultBooster.slots.push_back(ps);
defaultBooster.slots.push_back(ps); ps = NEW MTGPackSlot(); ps->copies = 1;
ps = NEW MTGPackSlot(); ps->copies = 1; ps->addEntry(NEW MTGPackEntryRandom("rarity:land;&type:basic;"));
ps->addEntry(NEW MTGPackEntryRandom("rarity:land;")); defaultBooster.slots.push_back(ps);
defaultBooster.slots.push_back(ps); ps = NEW MTGPackSlot(); ps->copies = 10;
ps = NEW MTGPackSlot(); ps->copies = 10; ps->addEntry(NEW MTGPackEntryRandom("rarity:common;"));
ps->addEntry(NEW MTGPackEntryRandom("rarity:common;")); defaultBooster.slots.push_back(ps);
defaultBooster.slots.push_back(ps); defaultBooster.bValid = true;
defaultBooster.bValid = true; defaultBooster.unlockStatus = 1;
defaultBooster.unlockStatus = 1; }
} }
return &defaultBooster; return &defaultBooster;
} }