public void IsHurtBad(bool willKill) { if (Hits < 15 || willKill) { BaseAttackHelperSE.SpillAcid(this, false); } }
public override void OnThink() { if (DateTime.Now >= m_NextAbilityTime) { Mobile target = BaseAttackHelperSE.GetRandomAttacker(this, Yamandon.AbilityRange); if (target != null) { BaseAttackHelperSE.SpillAcid(target, true); } m_NextAbilityTime = DateTime.Now + TimeSpan.FromSeconds(Utility.RandomMinMax(m_MinTime, m_MaxTime)); } base.OnThink(); }
public override void OnThink() { double value; int i; if ( Hits != m_HitsLast ) { if ( m_HitsLast != -1 ) { for ( i = 0; i < m_Mods.Length; i++ ) { RemoveResistanceMod( m_Mods[ i ] ); } } for ( i = 0; i < m_Mods.Length; i++ ) { value = ((double) (HitsMax - Hits))*((double) ((m_ResistMax[ i ] - m_Resist[ i ])/(double) HitsMax)); m_Mods[ i ] = new ResistanceMod( (ResistanceType) i, m_Resist[ i ] + (int) value ); } for ( i = 0; i < m_Mods.Length; i++ ) { AddResistanceMod( m_Mods[ i ] ); } m_HitsLast = Hits; } if ( DateTime.Now >= m_NextAbilityTime ) { Mobile target = BaseAttackHelperSE.GetRandomAttacker( this, Yamandon.AbilityRange ); if ( target != null ) { BaseAttackHelperSE.SpillAcid( target, true ); } m_NextAbilityTime = DateTime.Now + TimeSpan.FromSeconds( Utility.RandomMinMax( m_MinTime, m_MaxTime ) ); } base.OnThink(); }