summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormathiascode <mail@mathias.is>2020-03-30 19:09:06 +0200
committerMattes D <github@xoft.cz>2020-04-02 09:30:50 +0200
commitd5c58c6b17c90f3e139751890339d0b390596b8a (patch)
treeef752004a3d1defdc7e7d558492d200ad2517017
parentFix explosion knockback issues and tweak knockback strength (#4590) (diff)
downloadcuberite-d5c58c6b17c90f3e139751890339d0b390596b8a.tar
cuberite-d5c58c6b17c90f3e139751890339d0b390596b8a.tar.gz
cuberite-d5c58c6b17c90f3e139751890339d0b390596b8a.tar.bz2
cuberite-d5c58c6b17c90f3e139751890339d0b390596b8a.tar.lz
cuberite-d5c58c6b17c90f3e139751890339d0b390596b8a.tar.xz
cuberite-d5c58c6b17c90f3e139751890339d0b390596b8a.tar.zst
cuberite-d5c58c6b17c90f3e139751890339d0b390596b8a.zip
-rw-r--r--Server/monsters.ini46
-rw-r--r--src/Mobs/Monster.h10
-rw-r--r--src/MonsterConfig.cpp4
3 files changed, 30 insertions, 30 deletions
diff --git a/Server/monsters.ini b/Server/monsters.ini
index be78b3ad1..bf1fc95a4 100644
--- a/Server/monsters.ini
+++ b/Server/monsters.ini
@@ -1,6 +1,6 @@
[Bat]
AttackDamage=0.0
-AttackRange=2.0
+AttackRange=1.0
AttackRate=1.0
MaxHealth=6
SightDistance=25.0
@@ -15,21 +15,21 @@ SightDistance=25.0
[CaveSpider]
AttackDamage=2.0
-AttackRange=2.0
+AttackRange=1.0
AttackRate=1.0
MaxHealth=12
SightDistance=25.0
[Chicken]
AttackDamage=0.0
-AttackRange=2.0
+AttackRange=1.0
AttackRate=1.0
MaxHealth=4
SightDistance=25.0
[Cow]
AttackDamage=0.0
-AttackRange=2.0
+AttackRange=1.0
AttackRate=1.0
MaxHealth=10
SightDistance=25.0
@@ -50,7 +50,7 @@ SightDistance=25.0
[Enderman]
AttackDamage=4.0
-AttackRange=2.0
+AttackRange=1.0
AttackRate=1.0
MaxHealth=40
SightDistance=64.0
@@ -65,21 +65,21 @@ SightDistance=50.0
[Giant]
AttackDamage=6.0
-AttackRange=2.0
+AttackRange=1.0
AttackRate=1.0
MaxHealth=100
SightDistance=25.0
[Guardian]
AttackDamage=9.0
-AttackRange=2.0
+AttackRange=1.0
AttackRate=1.0
MaxHealth=30
SightDistance=25.0
[Horse]
AttackDamage=6.0
-AttackRange=2.0
+AttackRange=1.0
AttackRate=1.0
MaxHealth=30
SightDistance=25.0
@@ -93,7 +93,7 @@ SightDistance=25.0
[MagmaCube]
AttackDamage=6.0
-AttackRange=2.0
+AttackRange=1.0
AttackRate=1.0
IsFireproof=1
MaxHealth=16
@@ -101,42 +101,42 @@ SightDistance=25.0
[Mooshroom]
AttackDamage=0.0
-AttackRange=2.0
+AttackRange=1.0
AttackRate=1.0
MaxHealth=10
SightDistance=25.0
[Ocelot]
AttackDamage=0.0
-AttackRange=2.0
+AttackRange=1.0
AttackRate=1.0
MaxHealth=10
SightDistance=25.0
[Pig]
AttackDamage=0.0
-AttackRange=2.0
+AttackRange=1.0
AttackRate=1.0
MaxHealth=10
SightDistance=25.0
[Rabbit]
AttackDamage=0.0
-AttackRange=2.0
+AttackRange=0.75
AttackRate=1.0
MaxHealth=10
SightDistance=25.0
[Sheep]
AttackDamage=0.0
-AttackRange=2.0
+AttackRange=1.0
AttackRate=1.0
MaxHealth=8
SightDistance=25.0
[Silverfish]
AttackDamage=1.0
-AttackRange=2.0
+AttackRange=0.75
AttackRate=1.0
MaxHealth=8
SightDistance=25.0
@@ -150,35 +150,35 @@ BurnsInDaylight=1
[Slime]
AttackDamage=4.0
-AttackRange=2.0
+AttackRange=1.0
AttackRate=1.0
MaxHealth=16
SightDistance=25.0
[SnowGolem]
AttackDamage=0.0
-AttackRange=2.0
+AttackRange=1.0
AttackRate=1.0
MaxHealth=4
SightDistance=25.0
[Spider]
AttackDamage=2.0
-AttackRange=2.0
+AttackRange=1.0
AttackRate=1.0
MaxHealth=16
SightDistance=25.0
[Squid]
AttackDamage=0.0
-AttackRange=2.0
+AttackRange=1.0
AttackRate=1.0
MaxHealth=10
SightDistance=25.0
[Villager]
AttackDamage=0.0
-AttackRange=2.0
+AttackRange=1.0
AttackRate=1.0
MaxHealth=20
SightDistance=25.0
@@ -192,14 +192,14 @@ SightDistance=25.0
[Wolf]
AttackDamage=8.0
-AttackRange=2.0
+AttackRange=1.0
AttackRate=1.0
MaxHealth=20
SightDistance=25.0
[Zombie]
AttackDamage=4.0
-AttackRange=2.0
+AttackRange=1.0
AttackRate=1.0
MaxHealth=20
SightDistance=25.0
@@ -207,7 +207,7 @@ BurnsInDaylight=1
[ZombiePigman]
AttackDamage=7.0
-AttackRange=2.0
+AttackRange=1.0
AttackRate=1.0
IsFireproof=1
MaxHealth=20
diff --git a/src/Mobs/Monster.h b/src/Mobs/Monster.h
index 567e13ab2..93c29c533 100644
--- a/src/Mobs/Monster.h
+++ b/src/Mobs/Monster.h
@@ -116,9 +116,9 @@ public:
virtual void InStateChasing (std::chrono::milliseconds a_Dt, cChunk & a_Chunk);
virtual void InStateEscaping(std::chrono::milliseconds a_Dt, cChunk & a_Chunk);
- int GetAttackRate() { return static_cast<int>(m_AttackRate); }
- void SetAttackRate(float a_AttackRate) { m_AttackRate = a_AttackRate; }
- void SetAttackRange(int a_AttackRange) { m_AttackRange = a_AttackRange; }
+ double GetAttackRate() { return m_AttackRate; }
+ void SetAttackRate(double a_AttackRate) { m_AttackRate = a_AttackRate; }
+ void SetAttackRange(double a_AttackRange) { m_AttackRange = a_AttackRange; }
void SetAttackDamage(int a_AttackDamage) { m_AttackDamage = a_AttackDamage; }
void SetSightDistance(int a_SightDistance) { m_SightDistance = a_SightDistance; }
@@ -269,9 +269,9 @@ protected:
AString m_SoundDeath;
AString m_SoundAmbient;
- float m_AttackRate;
+ double m_AttackRate;
int m_AttackDamage;
- int m_AttackRange;
+ double m_AttackRange;
int m_AttackCoolDownTicksLeft;
int m_SightDistance;
diff --git a/src/MonsterConfig.cpp b/src/MonsterConfig.cpp
index 1cb91dfec..271a72a7f 100644
--- a/src/MonsterConfig.cpp
+++ b/src/MonsterConfig.cpp
@@ -14,7 +14,7 @@ struct cMonsterConfig::sAttributesStruct
AString m_Name;
int m_SightDistance;
int m_AttackDamage;
- int m_AttackRange;
+ double m_AttackRange;
double m_AttackRate;
double m_MaxHealth;
bool m_IsFireproof;
@@ -71,7 +71,7 @@ void cMonsterConfig::Initialize()
AString Name = MonstersIniFile.GetKeyName(i);
Attributes.m_Name = Name;
Attributes.m_AttackDamage = MonstersIniFile.GetValueI(Name, "AttackDamage", 0);
- Attributes.m_AttackRange = MonstersIniFile.GetValueI(Name, "AttackRange", 0);
+ Attributes.m_AttackRange = MonstersIniFile.GetValueF(Name, "AttackRange", 0);
Attributes.m_SightDistance = MonstersIniFile.GetValueI(Name, "SightDistance", 0);
Attributes.m_AttackRate = MonstersIniFile.GetValueF(Name, "AttackRate", 0);
Attributes.m_MaxHealth = MonstersIniFile.GetValueF(Name, "MaxHealth", 1);