My Project
 
Loading...
Searching...
No Matches
dewdrop.h
Go to the documentation of this file.
1#pragma once
2
3#include "item.h"
4#include "typedefine.h"
5#include "itemsprite.h"
6
7class Dewdrop :public Item{
8private:
9 static const String TXT_VALUE;
10public:
11 Dewdrop();
12
13 virtual std::string getClassName() { return "Dewdrop"; }
14
15 virtual boolean doPickUp(Hero* hero);
16
17 virtual String info() {
18 return "A crystal clear dewdrop.";
19 }
20};
21
22class DewVial :public Item{
23private:
24 static const int MAX_VOLUME = 10;
25
26 static const String AC_DRINK;
27
28 static const float TIME_TO_DRINK;
29
30 static const String TXT_VALUE;
31 static const String TXT_STATUS;
32
33 static const String TXT_AUTO_DRINK;
34 static const String TXT_COLLECTED;
35 static const String TXT_FULL;
36 static const String TXT_EMPTY;
37
38 int volume;
39
40 static const String VOLUME;
41
42 static const double NUM;
43 static const double POW;
44
45 static ItemSprite::Glowing* WHITE;
46public:
47 DewVial();
48
49 virtual std::string getClassName() { return "DewVial"; }
50 virtual void storeInBundle(Bundle* bundle);
51 virtual void restoreFromBundle(Bundle* bundle);
52
53 virtual void actions(Hero* hero, std::vector<std::string>& actions);
54 virtual void execute(Hero* hero, std::string action);
55
56 virtual boolean isUpgradable() {
57 return false;
58 }
59
60 virtual boolean isIdentified() {
61 return true;
62 }
63 boolean isFull() {
64 return volume >= MAX_VOLUME;
65 }
66 void collectDew(Dewdrop* dew);
67 void fill() {
68 volume = MAX_VOLUME;
70 }
71 static void autoDrink(Hero* hero);
72
74 return isFull() ? WHITE : NULL;
75 }
76 virtual String status();
77 virtual String info() {
78 return
79 std::string("You can store excess dew in this tiny vessel for drinking it later. ") +
80 std::string("If the vial is full, in a moment of deadly peril the dew will be ") +
81 std::string("consumed automatically.");
82 }
83 //virtual String toString() {
84 // return super.toString() + " (" + status() + ")";
85 //}
86};
virtual String info()
Definition dewdrop.h:77
static void autoDrink(Hero *hero)
Definition dewdrop.cpp:149
void collectDew(Dewdrop *dew)
Definition dewdrop.cpp:137
virtual void execute(Hero *hero, std::string action)
Definition dewdrop.cpp:100
virtual std::string getClassName()
Definition dewdrop.h:49
virtual boolean isIdentified()
Definition dewdrop.h:60
boolean isFull()
Definition dewdrop.h:63
virtual void storeInBundle(Bundle *bundle)
Definition dewdrop.cpp:80
virtual ItemSprite::Glowing * glowing()
Definition dewdrop.h:73
DewVial()
Definition dewdrop.cpp:69
virtual boolean isUpgradable()
Definition dewdrop.h:56
void fill()
Definition dewdrop.h:67
virtual String status()
Definition dewdrop.cpp:160
virtual void restoreFromBundle(Bundle *bundle)
Definition dewdrop.cpp:86
virtual void actions(Hero *hero, std::vector< std::string > &actions)
Definition dewdrop.cpp:92
Definition dewdrop.h:7
Dewdrop()
Definition dewdrop.cpp:13
virtual std::string getClassName()
Definition dewdrop.h:13
virtual boolean doPickUp(Hero *hero)
Definition dewdrop.cpp:21
virtual String info()
Definition dewdrop.h:17
Definition hero.h:18
Item()
Definition item.cpp:65
void updateQuickslot()
Definition item.cpp:381
Definition itemsprite.h:10
std::string String
Definition typedefine.h:8