Merge pull request #925 from archshift/master
Added monsters.ini rule for fireproof mobs.
This commit is contained in:
commit
0d0e0af2d8
@ -53,6 +53,7 @@ AttackRate=1
|
||||
AttackDamage=7.0
|
||||
SightDistance=25.0
|
||||
MaxHealth=20
|
||||
IsFireproof=1
|
||||
|
||||
[Cavespider]
|
||||
AttackRange=2.0
|
||||
@ -74,6 +75,7 @@ AttackRate=1
|
||||
AttackDamage=0.0
|
||||
SightDistance=50.0
|
||||
MaxHealth=10
|
||||
IsFireproof=1
|
||||
|
||||
[Silverfish]
|
||||
AttackRange=2.0
|
||||
@ -115,6 +117,7 @@ AttackRate=1
|
||||
AttackDamage=6.0
|
||||
SightDistance=25.0
|
||||
MaxHealth=20
|
||||
IsFireproof=1
|
||||
|
||||
[Villager]
|
||||
AttackRange=2.0
|
||||
@ -122,6 +125,7 @@ AttackRate=1
|
||||
AttackDamage=0.0
|
||||
SightDistance=25.0
|
||||
MaxHealth=20
|
||||
IsFireproof=0
|
||||
|
||||
[Witch]
|
||||
AttackRange=2.0
|
||||
@ -151,6 +155,7 @@ AttackRate=1
|
||||
AttackDamage=6.0
|
||||
SightDistance=25.0
|
||||
MaxHealth=16
|
||||
IsFireproof=1
|
||||
|
||||
[Horse]
|
||||
AttackRange=2.0
|
||||
|
@ -45,6 +45,7 @@ cEntity::cEntity(eEntityType a_EntityType, double a_X, double a_Y, double a_Z, d
|
||||
, m_IsInitialized(false)
|
||||
, m_EntityType(a_EntityType)
|
||||
, m_World(NULL)
|
||||
, m_IsFireproof(false)
|
||||
, m_TicksSinceLastBurnDamage(0)
|
||||
, m_TicksSinceLastLavaDamage(0)
|
||||
, m_TicksSinceLastFireDamage(0)
|
||||
@ -1042,6 +1043,16 @@ void cEntity::SetMaxHealth(int a_MaxHealth)
|
||||
|
||||
|
||||
|
||||
/// Sets whether the entity is fireproof
|
||||
void cEntity::SetIsFireproof(bool a_IsFireproof)
|
||||
{
|
||||
m_IsFireproof = a_IsFireproof;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/// Puts the entity on fire for the specified amount of ticks
|
||||
void cEntity::StartBurning(int a_TicksLeftBurning)
|
||||
{
|
||||
|
@ -329,6 +329,11 @@ public:
|
||||
|
||||
int GetMaxHealth(void) const { return m_MaxHealth; }
|
||||
|
||||
/// Sets whether the entity is fireproof
|
||||
void SetIsFireproof(bool a_IsFireproof);
|
||||
|
||||
bool IsFireproof(void) const { return m_IsFireproof; }
|
||||
|
||||
/// Puts the entity on fire for the specified amount of ticks
|
||||
void StartBurning(int a_TicksLeftBurning);
|
||||
|
||||
|
@ -17,6 +17,7 @@ struct cMonsterConfig::sAttributesStruct
|
||||
int m_AttackRange;
|
||||
double m_AttackRate;
|
||||
int m_MaxHealth;
|
||||
bool m_IsFireproof;
|
||||
};
|
||||
|
||||
|
||||
@ -72,6 +73,7 @@ void cMonsterConfig::Initialize()
|
||||
Attributes.m_SightDistance = MonstersIniFile.GetValueI(Name, "SightDistance", 0);
|
||||
Attributes.m_AttackRate = MonstersIniFile.GetValueF(Name, "AttackRate", 0);
|
||||
Attributes.m_MaxHealth = MonstersIniFile.GetValueI(Name, "MaxHealth", 1);
|
||||
Attributes.m_IsFireproof = MonstersIniFile.GetValueB(Name, "IsFireproof", false);
|
||||
m_pState->AttributesList.push_front(Attributes);
|
||||
} // for i - SplitList[]
|
||||
}
|
||||
@ -92,6 +94,7 @@ void cMonsterConfig::AssignAttributes(cMonster * a_Monster, const AString & a_Na
|
||||
a_Monster->SetSightDistance(itr->m_SightDistance);
|
||||
a_Monster->SetAttackRate ((float)itr->m_AttackRate);
|
||||
a_Monster->SetMaxHealth (itr->m_MaxHealth);
|
||||
a_Monster->SetIsFireproof (itr->m_IsFireproof);
|
||||
return;
|
||||
}
|
||||
} // for itr - m_pState->AttributesList[]
|
||||
|
Loading…
Reference in New Issue
Block a user