Jeck - Changed filter pricing scheme- filter tax is now inversely proportional to the amount of results. Added preliminary "economic difficulty" option. Note that it requires difficulty modes to be unlocked (at least to appear in the gui). Should we make it available from the start?

This commit is contained in:
wagic.jeck
2010-02-09 16:23:29 +00:00
parent 8de2d4a892
commit 5444c4e507
8 changed files with 76 additions and 37 deletions

View File

@@ -41,8 +41,9 @@ public:
MANADISPLAY,
REVERSETRIGGERS,
DISABLECARDS,
INTERRUPT_SECONDS,
MAX_GRADE,
ECON_DIFFICULTY,
INTERRUPT_SECONDS,
//My interrupts
INTERRUPTMYSPELLS,
INTERRUPTMYABILITIES,
@@ -169,6 +170,14 @@ private:
static OptionMaxGrade mDef;
};
class OptionEconDifficulty: public EnumDefinition {
public:
static EnumDefinition * getInstance() {return &mDef;};
private:
OptionEconDifficulty();
static OptionEconDifficulty mDef;
};
class OptionDifficulty: public EnumDefinition {
public:
enum { NORMAL = 0, HARD = 1, HARDER = 2, EVIL = 3};

View File

@@ -114,9 +114,13 @@ class Constants
RARITY_L = 'L', //Lands
RARITY_T = 'T', //Tokens
//Price flux
PRICE_FLUX_RANGE = 20,
PRICE_FLUX_MINUS = 10,
//Economic values (Placeholders for stuff later set by economic difficulty)
PRICE_FILTER_SCALAR = 4,
ECON_NORMAL = 0, //Options default to 0.
ECON_HARD = 1,
ECON_LUCK = 2,
ECON_EASY = 3,
//Price for singles
PRICE_1M = 3000,

View File

@@ -89,7 +89,7 @@ public:
WCFilterSet(string arg);
bool isMatch(MTGCard *c) {return (setid==-1 || c->setId == setid);};
string getCode();
float filterFee() {return 0.1f;};
float filterFee() {return 0.2f;};
protected:
int setid;
};
@@ -98,7 +98,7 @@ public:
WCFilterLetter(string arg);
bool isMatch(MTGCard * c);
string getCode();
float filterFee() {return 1.0f;}; //Alpha searches are expensive!
float filterFee() {return 4.0f;}; //Alpha searches are expensive!
protected:
char alpha;
};
@@ -108,7 +108,7 @@ public:
WCFilterColor(string arg);
bool isMatch(MTGCard * c);
string getCode();
float filterFee() {return 0.1f;};
float filterFee() {return 0.2f;};
protected:
int color;
};
@@ -150,7 +150,7 @@ public:
WCFilterPower(string arg) : WCFilterNumeric(arg) {};
bool isMatch(MTGCard * c);
string getCode();
float filterFee() {return number/12.0f;};
float filterFee() {return 2*number/12.0f;};
};
class WCFilterToughness: public WCFilterNumeric{
public:
@@ -158,7 +158,7 @@ public:
WCFilterToughness(string arg) : WCFilterNumeric(arg) {};
bool isMatch(MTGCard * c);
string getCode();
float filterFee() {return number/12.0f;};
float filterFee() {return 2*number/12.0f;};
};
class WCFilterType: public WCardFilter{
@@ -166,7 +166,7 @@ public:
WCFilterType(string arg) {type = arg;};
bool isMatch(MTGCard * c);
string getCode();
float filterFee() {return 0.2f;};
float filterFee() {return 0.4f;};
protected:
string type;
};