protected override sealed void AreaOneInstanceApplyEffectEnemyHook(StatusManager enemy_sm) { enemy_sm.ApplyInstanceMagicalDamageFix(damage * status_manager.spell_power, status_manager); if(Random.value <= stun_chance) { enemy_sm.ApplyStun(stun_duration); } }
protected override sealed void BasicAttackApplyEffectEnemyHook(StatusManager enemy_sm) { //apply damage, possible critical bool crit = (Random.value <= status_manager.crit_chance && status_manager.crit_chance != 0f); float damage = crit ? (status_manager.attack_damage * status_manager.crit_damage) : (status_manager.attack_damage); enemy_sm.ApplyInstancePhysicalAttackDamageFix(damage, status_manager); enemy_sm.TempChangePhysicalDamagePerSecFix(status_manager.posion_damage, status_manager.posion_dur); enemy_sm.ApplySlowAttack(status_manager.posion_attack_slow, status_manager.posion_dur); enemy_sm.ApplySlowMove(status_manager.posion_move_slow, status_manager.posion_dur); if(Random.value <= status_manager.stun_chance && status_manager.stun_chance != 0f) { enemy_sm.ApplyStun(status_manager.stun_dur); } }