My Project
 
Loading...
Searching...
No Matches
food.h
Go to the documentation of this file.
1#pragma once
2
3#include "item.h"
4#include "typedefine.h"
5#include "bpt.h"
6
7class Food :public Item{
8private:
9 static const float TIME_TO_EAT;
10
11public:
12 static const std::string AC_EAT;
13
14 float energy;
15 std::string message;
16
17 Food();
18 virtual std::string getClassName() { return "Food"; }
19 static Item* Create() { return new Food(); }
20
21 virtual void actions(Hero* hero, std::vector<std::string>& actions);
22 virtual void execute(Hero* hero, const std::string& action);
23
24 virtual std::string info()
25 {
26 return BPT::getText("lang.Food_info");
27 }
28 virtual bool isUpgradable() { return false; }
29 virtual bool isIdentified() { return true; }
30 virtual int price() { return 10 * quantity; }
31};
32
33class MysteryMeat :public Food{
34public:
36 virtual std::string getClassName() { return "MysteryMeat"; }
37 static Item* Create() { return new MysteryMeat(); }
38
39 virtual void execute(Hero* hero, const std::string& action);
40
41 virtual String info() {
42 return BPT::getText("lang.MysteryMeat_info");// "Eat at your own risk!";
43 }
44
45 virtual int price() {
46 return 5 * quantity;
47 };
48
49};
50
51class ChargrilledMeat :public Food{
52public:
54 virtual std::string getClassName() { return "ChargrilledMeat"; }
55 static Item* Create() { return new ChargrilledMeat(); }
56
57 virtual String info() {
58 return BPT::getText("lang.ChargrilledMeat_info");// "It looks like a decent steak.";
59 }
60
61 virtual int price() {
62 return 5 * quantity;
63 }
64
65 static Food* cook(MysteryMeat* ingredient);
66
67};
68
69class FrozenCarpaccio :public Food{
70public:
72
73 virtual std::string getClassName() { return "FrozenCarpaccio"; }
74 static Item* Create() { return new FrozenCarpaccio(); }
75
76 virtual void execute(Hero* hero, const std::string& action);
77
78 virtual String info() {
79 return BPT::getText("lang.FrozenCarpaccio_info");
80 }
81 virtual int price() {
82 return 10 * quantity;
83 }
84 static Food* cook(MysteryMeat* ingredient);
85};
86
87class Pasty :public Food{
88public:
89 Pasty();
90 virtual std::string getClassName() { return "Pasty"; }
91 static Item* Create() { return new Pasty(); }
92
93 virtual String info() {
94 return BPT::getText("lang.Pasty_info");// "This is authentic Cornish pasty with traditional filling of beef and potato.";
95 }
96 virtual int price() {
97 return 20 * quantity;
98 }
99};
static std::string getText(const std::string &key)
Definition bpt.cpp:26
virtual String info()
Definition food.h:57
virtual int price()
Definition food.h:61
static Item * Create()
Definition food.h:55
static Food * cook(MysteryMeat *ingredient)
Definition food.cpp:117
ChargrilledMeat()
Definition food.cpp:110
virtual std::string getClassName()
Definition food.h:54
Definition food.h:7
static Item * Create()
Definition food.h:19
std::string message
Definition food.h:15
virtual void execute(Hero *hero, const std::string &action)
Definition food.cpp:32
virtual bool isUpgradable()
Definition food.h:28
virtual bool isIdentified()
Definition food.h:29
float energy
Definition food.h:14
virtual std::string info()
Definition food.h:24
virtual int price()
Definition food.h:30
Food()
Definition food.cpp:16
virtual std::string getClassName()
Definition food.h:18
virtual void actions(Hero *hero, std::vector< std::string > &actions)
Definition food.cpp:26
static const std::string AC_EAT
Definition food.h:12
static Item * Create()
Definition food.h:74
virtual std::string getClassName()
Definition food.h:73
FrozenCarpaccio()
Definition food.cpp:124
virtual int price()
Definition food.h:81
virtual String info()
Definition food.h:78
static Food * cook(MysteryMeat *ingredient)
Definition food.cpp:164
virtual void execute(Hero *hero, const std::string &action)
Definition food.cpp:131
Definition hero.h:18
Item()
Definition item.cpp:65
int quantity
Definition item.h:62
Definition food.h:33
virtual String info()
Definition food.h:41
virtual int price()
Definition food.h:45
static Item * Create()
Definition food.h:37
virtual void execute(Hero *hero, const std::string &action)
Definition food.cpp:83
MysteryMeat()
Definition food.cpp:75
virtual std::string getClassName()
Definition food.h:36
Pasty()
Definition food.cpp:171
static Item * Create()
Definition food.h:91
virtual std::string getClassName()
Definition food.h:90
virtual String info()
Definition food.h:93
virtual int price()
Definition food.h:96
std::string String
Definition typedefine.h:8