aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/content_sao.cpp18
-rw-r--r--src/content_sao.h3
2 files changed, 18 insertions, 3 deletions
diff --git a/src/content_sao.cpp b/src/content_sao.cpp
index 9569b6586..61a2df255 100644
--- a/src/content_sao.cpp
+++ b/src/content_sao.cpp
@@ -684,11 +684,25 @@ std::string Oerkki1SAO::getStaticData()
return os.str();
}
-u16 Oerkki1SAO::punch(const std::string &toolname, v3f dir)
+u16 Oerkki1SAO::punch(const std::string &toolname, v3f dir,
+ const std::string &playername)
{
m_speed_f += dir*12*BS;
- u16 amount = 20;
+ u16 amount = 5;
+ /* See tool names in inventory.h */
+ if(toolname == "WSword")
+ amount = 10;
+ if(toolname == "STSword")
+ amount = 12;
+ if(toolname == "SteelSword")
+ amount = 16;
+ if(toolname == "STAxe")
+ amount = 7;
+ if(toolname == "SteelAxe")
+ amount = 9;
+ if(toolname == "SteelPick")
+ amount = 7;
doDamage(amount);
return 65536/100;
}
diff --git a/src/content_sao.h b/src/content_sao.h
index a335c12b8..f0ebf4f6f 100644
--- a/src/content_sao.h
+++ b/src/content_sao.h
@@ -96,7 +96,8 @@ public:
std::string getClientInitializationData();
std::string getStaticData();
InventoryItem* createPickedUpItem(){return NULL;}
- u16 punch(const std::string &toolname, v3f dir);
+ u16 punch(const std::string &toolname, v3f dir,
+ const std::string &playername);
bool isPeaceful(){return false;}
private:
void doDamage(u16 d);