12 static std::string _enchants[];
13 static std::vector<std::string> enchants;
14 static float _chances[];
15 static std::vector<float> chances;
18 static std::map<std::string, CreateEnchant> clsToInst;
35 static const int HITS_TO_KNOW = 20;
37 static const String TXT_IDENTIFY;
38 static const String TXT_INCOMPATIBLE;
40 static const String TXT_TO_STRING;
41 static const String TXT_BROKEN;
42 static const String UNFAMILIRIARITY;
43 static const String ENCHANTMENT;
58 virtual void proc(
Char* attacker,
Char* defender,
int damage);
71 return 5 * (lvl < 16 ? 16 - lvl : 1);
88 static const String TXT_BLAZING;
103 static const String TXT_VENOMOUS;
118 static const String TXT_GRIM;
133 static const String TXT_STUNNING;
148 static const String TXT_VAMPIRIC;
163 static const String TXT_CHILLING;
178 static const String TXT_SHOCKING;
184 void hit(
Char* ch,
int damage);
195 static const String TXT_UNSTABLE;
206 static const String TXT_ELDRITCH;
221 static const String TXT_LUCKY;
237 static const String TXT_TEMPERED;
291 virtual int min0() {
return tier; }
293 virtual int max0() {
return (
int)((tier * tier - tier + 10) /
ACU *
DLY); }
433 virtual void execute(
Hero* hero, std::string action);
450 static const String TXT_MISSILES;
451 static const String TXT_YES;
452 static const String TXT_NO;
453 static const String TXT_R_U_SURE;
459 virtual void proc(
Char* attacker,
Char* defender,
int damage);
472 virtual void onThrow(
int cell);
502 return 8 * (lvl < 16 ? 16 - lvl : 1);
504 virtual void proc(
Char* attacker,
Char* defender,
int damage);
505 virtual void cast(
Hero* user,
int dst);
520 boolean throwEquiped;
521 void circleBack(
int from,
Hero* owner);
562 virtual void proc(
Char* attacker,
Char* defender,
int damage);
588 virtual void proc(
Char* attacker,
Char* defender,
int damage);
601 virtual void onThrow(
int cell);
619 virtual void proc(
Char* attacker,
Char* defender,
int damage);
675 virtual void proc(
Char* attacker,
Char* defender,
int damage);
static std::string getText(const std::string &key)
Definition bpt.cpp:26
virtual std::string getClassName()
Definition weapon.h:385
static Item * Create()
Definition weapon.h:386
virtual String desc()
Definition weapon.h:381
BattleAxe()
Definition weapon.cpp:747
virtual void proc(Char *attacker, Char *defender, int damage)
Definition weapon.cpp:984
virtual String desc()
Definition weapon.h:507
static Item * Create()
Definition weapon.h:513
virtual int maxDurability(int lvl)
Definition weapon.h:501
virtual int max()
Definition weapon.h:485
virtual Item * upgrade(boolean enchant)
Definition weapon.h:494
virtual Item * upgrade()
Definition weapon.h:491
virtual void miss(int cell)
Definition weapon.h:515
virtual void cast(Hero *user, int dst)
Definition weapon.cpp:992
virtual int min()
Definition weapon.h:482
Boomerang()
Definition weapon.cpp:974
virtual std::string getClassName()
Definition weapon.h:512
virtual boolean isUpgradable()
Definition weapon.h:488
virtual int min()
Definition weapon.h:612
virtual void proc(Char *attacker, Char *defender, int damage)
Definition weapon.cpp:1114
CurareDart()
Definition weapon.cpp:1103
virtual String desc()
Definition weapon.h:621
static const float DURATION
Definition weapon.h:606
virtual int max()
Definition weapon.h:615
static Item * Create()
Definition weapon.h:610
virtual int price()
Definition weapon.h:628
virtual std::string getClassName()
Definition weapon.h:609
virtual Item * random()
Definition weapon.cpp:1120
Dagger()
Definition weapon.cpp:698
virtual String desc()
Definition weapon.h:300
static Item * Create()
Definition weapon.h:306
virtual std::string getClassName()
Definition weapon.h:305
virtual std::string getClassName()
Definition weapon.h:528
static Item * Create()
Definition weapon.h:529
virtual String desc()
Definition weapon.h:537
Dart()
Definition weapon.cpp:1018
virtual int price()
Definition weapon.h:544
virtual Item * random()
Definition weapon.cpp:1031
virtual int max()
Definition weapon.h:534
virtual int min()
Definition weapon.h:531
virtual boolean proc(Weapon *weapon, Char *attacker, Char *defender, int damage)
Definition weapon.cpp:314
virtual ItemSprite::Glowing * glowing()
Definition weapon.h:124
virtual String name(const String &weaponName)
Definition weapon.cpp:337
static Weapon::Enchantment * Create()
Definition weapon.h:128
virtual std::string getClassName()
Definition weapon.h:127
virtual boolean proc(Weapon *weapon, Char *attacker, Char *defender, int damage)
Definition weapon.cpp:258
virtual std::string getClassName()
Definition weapon.h:97
virtual ItemSprite::Glowing * glowing()
Definition weapon.h:94
virtual String name(const String &weaponName)
Definition weapon.cpp:280
static Weapon::Enchantment * Create()
Definition weapon.h:98
virtual ItemSprite::Glowing * glowing()
Definition weapon.h:139
virtual String name(const String &weaponName)
Definition weapon.cpp:363
virtual boolean proc(Weapon *weapon, Char *attacker, Char *defender, int damage)
Definition weapon.cpp:345
virtual std::string getClassName()
Definition weapon.h:142
static Weapon::Enchantment * Create()
Definition weapon.h:143
virtual ItemSprite::Glowing * glowing()
Definition weapon.h:109
virtual boolean proc(Weapon *weapon, Char *attacker, Char *defender, int damage)
Definition weapon.cpp:288
virtual String name(const String &weaponName)
Definition weapon.cpp:306
virtual std::string getClassName()
Definition weapon.h:112
static Weapon::Enchantment * Create()
Definition weapon.h:113
virtual std::string getClassName()
Definition weapon.h:172
virtual String name(const String &weaponName)
Definition weapon.cpp:421
virtual ItemSprite::Glowing * glowing()
Definition weapon.h:169
static Weapon::Enchantment * Create()
Definition weapon.h:173
virtual boolean proc(Weapon *weapon, Char *attacker, Char *defender, int damage)
Definition weapon.cpp:403
virtual std::string getClassName()
Definition weapon.h:411
virtual String desc()
Definition weapon.h:406
Glaive()
Definition weapon.cpp:761
static Item * Create()
Definition weapon.h:412
virtual ItemSprite::Glowing * glowing()
Definition weapon.h:212
virtual boolean proc(Weapon *weapon, Char *attacker, Char *defender, int damage)
Definition weapon.cpp:505
virtual std::string getClassName()
Definition weapon.h:215
static Weapon::Enchantment * Create()
Definition weapon.h:216
virtual String name(const String &weaponName)
Definition weapon.cpp:528
virtual std::string getClassName()
Definition weapon.h:579
virtual String desc()
Definition weapon.h:589
static Item * Create()
Definition weapon.h:580
virtual Item * random()
Definition weapon.cpp:1077
virtual void proc(Char *attacker, Char *defender, int damage)
Definition weapon.cpp:1071
virtual int price()
Definition weapon.h:596
virtual void onThrow(int cell)
Definition weapon.cpp:1083
virtual int max()
Definition weapon.h:585
virtual int min()
Definition weapon.h:582
IncendiaryDart()
Definition weapon.cpp:1060
virtual std::string getClassName()
Definition weapon.h:200
virtual String name(const String &weaponName)
Definition weapon.cpp:496
static Weapon::Enchantment * Create()
Definition weapon.h:201
virtual boolean proc(Weapon *weapon, Char *attacker, Char *defender, int damage)
Definition weapon.cpp:491
int Level()
Definition item.h:119
virtual Item * upgrade()
Definition item.h:124
bool isBroken()
Definition item.h:106
virtual Item * degrade()
Definition item.h:134
void updateQuickslot()
Definition item.cpp:381
static Hero * curUser
Definition item.h:43
int quantity
Definition item.h:62
virtual void onThrow(int cell)
Definition item.cpp:35
Definition itemsprite.h:10
virtual Item * random()
Definition weapon.cpp:1054
Javelin()
Definition weapon.cpp:1037
virtual int min()
Definition weapon.h:556
static Item * Create()
Definition weapon.h:554
virtual String desc()
Definition weapon.h:563
virtual void proc(Char *attacker, Char *defender, int damage)
Definition weapon.cpp:1048
virtual int max()
Definition weapon.h:559
virtual int price()
Definition weapon.h:570
virtual std::string getClassName()
Definition weapon.h:553
Definition kindofweapon.h:5
virtual std::string getClassName()
Definition weapon.h:317
static Item * Create()
Definition weapon.h:318
virtual String desc()
Definition weapon.h:312
Knuckles()
Definition weapon.cpp:705
virtual std::string getClassName()
Definition weapon.h:157
static Weapon::Enchantment * Create()
Definition weapon.h:158
virtual boolean proc(Weapon *weapon, Char *attacker, Char *defender, int damage)
Definition weapon.cpp:371
virtual String name(const String &weaponName)
Definition weapon.cpp:395
virtual ItemSprite::Glowing * glowing()
Definition weapon.h:154
Definition typedefine.h:33
Longsword()
Definition weapon.cpp:740
virtual String desc()
Definition weapon.h:369
virtual std::string getClassName()
Definition weapon.h:373
static Item * Create()
Definition weapon.h:374
static Weapon::Enchantment * Create()
Definition weapon.h:232
virtual String name(const String &weaponName)
Definition weapon.cpp:554
virtual boolean proc(Weapon *weapon, Char *attacker, Char *defender, int damage)
Definition weapon.cpp:536
virtual std::string getClassName()
Definition weapon.h:226
virtual ItemSprite::Glowing * glowing()
Definition weapon.h:229
virtual String desc()
Definition weapon.h:346
static Item * Create()
Definition weapon.h:351
virtual std::string getClassName()
Definition weapon.h:350
Mace()
Definition weapon.cpp:726
virtual std::string getClassName()
Definition weapon.h:255
virtual Item * degrade()
Definition weapon.h:275
virtual Item * random()
Definition weapon.cpp:687
Item * safeUpgrade()
Definition weapon.h:271
virtual int min0()
Definition weapon.h:291
virtual int max0()
Definition weapon.h:293
MeleeWeapon(int tier, float acu, float dly)
Definition weapon.cpp:573
Item * upgrade(boolean enchant)
Definition weapon.h:267
virtual Item * upgrade()
Definition weapon.h:263
virtual int price()
Definition weapon.cpp:678
virtual String info()
Definition weapon.cpp:583
virtual int min()
Definition weapon.h:257
virtual int max()
Definition weapon.h:260
int typicalSTR()
Definition weapon.h:280
virtual void proc(Char *attacker, Char *defender, int damage)
Definition weapon.cpp:892
MissileWeapon()
Definition weapon.cpp:862
virtual boolean isUpgradable()
Definition weapon.h:464
virtual Item * random()
Definition weapon.h:461
virtual String info()
Definition weapon.cpp:934
virtual void onThrow(int cell)
Definition weapon.cpp:961
virtual void actions(Hero *hero, std::vector< std::string > &actions)
Definition weapon.cpp:869
virtual void miss(int cell)
Definition weapon.h:473
virtual boolean isIdentified()
Definition weapon.h:467
virtual bool doEquip(Hero *hero)
Definition weapon.cpp:924
virtual String desc()
Definition weapon.h:324
virtual std::string getClassName()
Definition weapon.h:328
static Item * Create()
Definition weapon.h:329
Quarterstaff()
Definition weapon.cpp:712
virtual std::string getClassName()
Definition weapon.h:189
virtual String name(const String &weaponName)
Definition weapon.cpp:457
virtual boolean proc(Weapon *weapon, Char *attacker, Char *defender, int damage)
Definition weapon.cpp:428
static Weapon::Enchantment * Create()
Definition weapon.h:190
static const float TIME_TO_REFORGE
Definition weapon.h:423
static const String TXT_NOT_BOOMERANG
Definition weapon.h:421
ShortSword()
Definition weapon.cpp:813
virtual void actions(Hero *hero, std::vector< std::string > &actions)
Definition weapon.cpp:824
static const String TXT_REFORGED
Definition weapon.h:420
static Item * Create()
Definition weapon.h:441
virtual int max0()
Definition weapon.h:443
virtual void execute(Hero *hero, std::string action)
Definition weapon.cpp:832
virtual String desc()
Definition weapon.h:434
static const String AC_REFORGE
Definition weapon.h:417
static const String TXT_SELECT_WEAPON
Definition weapon.h:418
virtual std::string getClassName()
Definition weapon.h:440
boolean equipped
Definition weapon.h:425
static Item * Create()
Definition weapon.h:638
Shuriken()
Definition weapon.cpp:1126
virtual Item * random()
Definition weapon.cpp:1144
virtual std::string getClassName()
Definition weapon.h:637
virtual int price()
Definition weapon.h:655
virtual String desc()
Definition weapon.h:648
virtual int max()
Definition weapon.h:644
virtual int min()
Definition weapon.h:640
Spear()
Definition weapon.cpp:719
virtual std::string getClassName()
Definition weapon.h:339
static Item * Create()
Definition weapon.h:340
virtual String desc()
Definition weapon.h:335
virtual String desc()
Definition weapon.h:358
virtual std::string getClassName()
Definition weapon.h:362
static Item * Create()
Definition weapon.h:363
Sword()
Definition weapon.cpp:733
virtual int price()
Definition weapon.h:683
virtual std::string getClassName()
Definition weapon.h:664
static Item * Create()
Definition weapon.h:665
virtual String desc()
Definition weapon.h:676
virtual int min()
Definition weapon.h:667
Tamahawk()
Definition weapon.cpp:1150
virtual int max()
Definition weapon.h:671
virtual void proc(Char *attacker, Char *defender, int damage)
Definition weapon.cpp:1166
virtual Item * random()
Definition weapon.cpp:1172
virtual boolean proc(Weapon *weapon, Char *attacker, Char *defender, int damage)
Definition weapon.cpp:562
virtual std::string getClassName()
Definition weapon.h:242
virtual ItemSprite::Glowing * glowing()
Definition weapon.h:245
virtual String name(const String &weaponName)
Definition weapon.cpp:568
static Weapon::Enchantment * Create()
Definition weapon.h:248
virtual std::string getClassName()
Definition weapon.h:399
static Item * Create()
Definition weapon.h:400
virtual String desc()
Definition weapon.h:392
WarHammer()
Definition weapon.cpp:754
virtual ItemSprite::Glowing * glowing()
Definition weapon.cpp:225
virtual String name(const String &weaponName)
Definition weapon.h:22
virtual void restoreFromBundle(Bundle *bundle)
Definition weapon.h:25
virtual void storeInBundle(Bundle *bundle)
Definition weapon.h:27
static Enchantment * random()
Definition weapon.cpp:230
static void init()
Definition weapon.cpp:240
virtual boolean proc(Weapon *weapon, Char *attacker, Char *defender, int damage)=0
virtual void proc(Char *attacker, Char *defender, int damage)
Definition weapon.cpp:50
virtual float acuracyFactor(Hero *hero)
Definition weapon.cpp:85
boolean isEnchanted()
Definition weapon.h:78
Weapon()
Definition weapon.cpp:37
Weapon * enchant(Enchantment *ench)
Definition weapon.cpp:186
virtual Item * random()
Definition weapon.cpp:165
virtual ItemSprite::Glowing * glowing()
Definition weapon.cpp:208
virtual std::string getClassName()
Definition weapon.h:60
float ACU
Definition weapon.h:49
virtual String toString()
Definition weapon.cpp:151
int STR
Definition weapon.h:48
virtual String Name()
Definition weapon.cpp:160
Enchantment * enchantment
Definition weapon.h:83
Imbue
Definition weapon.h:52
@ SPEED
Definition weapon.h:53
@ NONE
Definition weapon.h:53
@ ACCURACY
Definition weapon.h:53
virtual void storeInBundle(Bundle *bundle)
Definition weapon.cpp:67
Imbue imbue
Definition weapon.h:55
Weapon * enchant()
Definition weapon.cpp:192
virtual int damageRoll(Hero *owner)
Definition weapon.cpp:120
virtual int maxDurability(int lvl)
Definition weapon.h:70
float DLY
Definition weapon.h:50
virtual float speedFactor(Hero *hero)
Definition weapon.cpp:108
virtual void restoreFromBundle(Bundle *bundle)
Definition weapon.cpp:75
std::string String
Definition typedefine.h:8